:root{color:#2d2528;background:#fffaf8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(231,169,189,.2),transparent 32rem),linear-gradient(135deg,#fffaf8,#fbf2ed,#f9eff4)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}main{min-height:100vh}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.75fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;max-width:min(1180px,calc(100% - (clamp(1rem,4vw,2rem)*2)));min-height:clamp(31rem,74vh,42rem);margin:clamp(1rem,3vw,2rem) auto 0;overflow:hidden;border-radius:1.75rem;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,4vw,2rem);background-image:linear-gradient(90deg,#fffaf8e0,#fffaf8ad 45%,#fffaf833),var(--hero-image);background-position:center;background-size:cover;box-shadow:0 26px 80px #50303a29}.hero:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background:linear-gradient(0deg,#fffaf8e0,#fffaf800 34%)}.heroContent,.heroPanel{position:relative;z-index:1}.heroLogo{display:block;width:min(24rem,82vw);height:auto;margin:0 0 1.4rem;object-fit:contain}.heroContent h1{max-width:13ch;margin:0;color:#241b20;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.92;letter-spacing:0}.eyebrow{margin:0 0 .85rem;color:#9d315f;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.heroCopy{max-width:38rem;margin:1.5rem 0 0;color:#665b5f;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.heroActions,.infoStrip,.heroPanel div,.sectionIntro,.panelHeader,.inputWrap,.slotButton,.bookButton,.primaryLink,.secondaryLink{display:flex;align-items:center}.heroActions{flex-wrap:wrap;gap:.85rem;margin-top:2rem}.primaryLink,.secondaryLink,.bookButton{min-height:3rem;border:0;border-radius:999px;padding:.85rem 1.15rem;text-decoration:none;font-weight:800;gap:.55rem}.primaryLink,.bookButton{background:#8f1f57;color:#fff;box-shadow:0 18px 38px #8f1f5733}.secondaryLink{background:#ffffffb8;color:#4c4246;border:1px solid rgba(91,62,71,.12)}.appDownloadLink{background:#171314;color:#fffaf8;border-color:#1713142e}.heroPanel{display:grid;gap:.75rem;padding:1rem;border:1px solid rgba(104,71,82,.12);border-radius:1.5rem;background:#ffffff8a;box-shadow:0 26px 70px #50303a1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.heroPanel div{gap:.7rem;padding:.95rem;border-radius:1rem;color:#41373b;background:linear-gradient(135deg,#fce6ece0,#fff8f1e0);font-weight:750}.bookingShell{max-width:1360px;margin:0 auto;padding:2rem clamp(.75rem,2.5vw,2rem) 3rem}.voucherShell,.clientPortalShell{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}.sectionIntro{justify-content:space-between;gap:1rem;margin-bottom:1rem}.sectionIntro>div{display:grid;gap:.35rem}.sectionIntro h2{margin:0;color:#2b2226;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:0}.sectionCopy{max-width:42rem;margin:0;color:#71656a;font-size:.98rem;font-weight:700;line-height:1.55}.iconButton{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid rgba(91,62,71,.12);border-radius:50%;background:#fff;color:#8f1f57}.bookingGrid{display:grid;grid-template-columns:minmax(15rem,.78fr) minmax(12rem,.54fr) minmax(18rem,1fr) minmax(20rem,.96fr);gap:1rem;align-items:start}.voucherGrid{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(20rem,1.15fr);gap:1rem;align-items:start}.clientPortalGrid{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(20rem,1.25fr);gap:1rem;align-items:start}.clientPortalResultsStack{display:grid;gap:1rem}.panel{border:1px solid rgba(91,62,71,.12);border-radius:1.25rem;background:#ffffffd1;box-shadow:0 20px 50px #50303a14;padding:1rem}.panel h3{margin:0 0 1rem;color:#2d2528;font-size:1.1rem}.panelStepHeader{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;margin-bottom:1rem}.panelStepHeader>span{width:2.25rem;height:2.25rem;display:inline-grid;place-items:center;border-radius:50%;background:#171314;color:#fffaf8;font-size:.9rem;font-weight:950}.panelStepHeader h3{margin:0}.panelStepHeader p{margin:.18rem 0 0;color:#75686e;font-size:.88rem;font-weight:700;line-height:1.42}.panelStepHeader.compact{align-items:center}.panelStepHeader.compact>span{background:#8f1f57}.panelSubheading{margin:.9rem 0 .55rem;color:#4d4247;font-size:.82rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.panelSubheading span{color:#8f1f57;font-size:.72rem}.voucherStory{min-height:100%;border-radius:1.25rem;background:linear-gradient(135deg,#8f1f57c7,#c47e909e),var(--hero-image);background-position:center;background-size:cover;color:#fff;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 20px 50px #50303a1f}.voucherStory h3{max-width:12ch;margin:1.4rem 0 1rem;font-size:clamp(2.2rem,5vw,4rem);line-height:.95}.voucherStory p,.voucherStory li{color:#ffffffe6;line-height:1.6}.voucherStory ul{display:grid;gap:.55rem;margin:1.2rem 0 0;padding-left:1.1rem}.voucherPanel{background:#ffffffe6}.panelHeader{justify-content:space-between;gap:1rem;margin-bottom:1rem}.panelHeader h3{margin:0}.panelHeader span{color:#8f1f57;font-size:.9rem;font-weight:800}.categoryList,.serviceList,.therapistList{display:grid;gap:.65rem}.categoryList{margin-bottom:1.15rem}.serviceSearchBox{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-bottom:.45rem;border:1px solid rgba(99,66,76,.14);border-radius:1rem;background:#fffaf8;color:#8f1f57;padding:.8rem .9rem}.serviceSearchBox input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#2d2528;font:inherit}.serviceSearchBox input::placeholder{color:#9e9296}.serviceSearchBox button{width:1.55rem;height:1.55rem;border:0;border-radius:50%;background:#f2e1df;color:#63424c;font-size:1.1rem;line-height:1}.serviceSearchHint,.emptySearch{margin:0 0 .85rem;color:#74696d;font-size:.86rem;line-height:1.45}.serviceList.searchResults{max-height:22rem;overflow:auto;padding-right:.2rem;margin-bottom:1.15rem}.therapistList{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1.1rem}.therapistPanel .therapistList{grid-template-columns:1fr}.therapistButton{min-height:4.15rem;display:grid;align-content:center;gap:.22rem;border:1px solid rgba(99,66,76,.12);border-radius:1rem;background:#fffaf8db;color:#2d2528;padding:.8rem;text-align:left}.therapistButton span{font-weight:900}.therapistButton small{color:#74696d;font-size:.76rem;line-height:1.25}.therapistButton .therapistVoucherNotice{color:#8f1f57;font-weight:850}.therapistButton.selected{border-color:#8f1f5773;background:#fae7ef;box-shadow:inset 0 0 0 1px #8f1f5729}.lauraVoucherNoticeInline{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 .9rem;border:1px solid rgba(143,31,87,.2);border-radius:.95rem;background:#fff3f8;color:#6d2247;padding:.75rem .85rem;font-size:.82rem;font-weight:800;line-height:1.35}.lauraVoucherNoticeInline svg{flex:0 0 auto;margin-top:.05rem}.lauraVoucherNoticeInline.summaryNotice{margin-top:.7rem;margin-bottom:0}.categoryGroup{overflow:hidden;border:1px solid rgba(99,66,76,.12);border-radius:1rem;background:#fffaf8c7}.categoryButton{display:grid;grid-template-columns:1fr auto auto;gap:.65rem;align-items:center;width:100%;border:0;background:transparent;color:#2d2528;padding:.9rem;text-align:left}.categoryButton span{display:grid;gap:.16rem;font-weight:850}.categoryButton small{color:#74696d;font-weight:700}.categoryButton strong{border-radius:999px;background:#fae7ef;color:#8f1f57;font-size:.72rem;padding:.3rem .5rem}.categoryButton svg:last-child{color:#8f1f57;transition:transform .16s ease}.categoryGroup.open .categoryButton svg:last-child{transform:rotate(180deg)}.categoryGroup .serviceList{border-top:1px solid rgba(99,66,76,.1);padding:.7rem}.selectedServiceSummary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.14rem .65rem;margin:.65rem 0;border:1px solid rgba(143,31,87,.18);border-radius:.95rem;background:linear-gradient(135deg,#fae7ef,#fff8f3);padding:.62rem .75rem}.selectedServiceSummary span{grid-column:1 / -1;color:#9d315f;font-size:.7rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.selectedServiceSummary strong{overflow-wrap:anywhere;color:#2d2528;font-size:.92rem;font-weight:950;line-height:1.22}.selectedServiceSummary small{color:#74696d;font-size:.82rem;font-weight:850;white-space:nowrap}.categoryPills{display:flex;gap:.45rem;overflow-x:auto;margin-bottom:.75rem;padding-bottom:.15rem;scrollbar-width:thin}.categoryPill{flex:0 0 auto;display:inline-flex;align-items:center;gap:.42rem;border:1px solid rgba(99,66,76,.12);border-radius:999px;background:#fffaf8e6;color:#4d4247;padding:.55rem .7rem;font-weight:900;white-space:nowrap}.categoryPill small{min-width:1.35rem;border-radius:999px;background:#f2e1df;color:#8f1f57;padding:.12rem .35rem;font-size:.68rem;font-weight:950;text-align:center}.categoryPill.selected{border-color:#8f1f576b;background:#8f1f57;color:#fffaf8;box-shadow:0 12px 26px #8f1f5724}.categoryPill.selected small{background:#ffffff38;color:#fffaf8}.categorySelectRow{display:grid;gap:.35rem;margin-bottom:.7rem;color:#4d4247;font-size:.82rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.categorySelectRow select{width:100%;border:1px solid rgba(99,66,76,.14);border-radius:.85rem;background:#fffaf8;color:#2d2528;padding:.72rem .8rem;font-weight:850;letter-spacing:0;text-transform:none}.servicePickerPanel{border:1px solid rgba(99,66,76,.12);border-radius:1rem;background:#fffaf8c7;padding:.58rem}.servicePickerHeader{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.55rem;padding:0 .1rem}.servicePickerHeader strong{color:#2d2528;font-weight:950}.servicePickerHeader span{color:#8f1f57;font-size:.78rem;font-weight:900;white-space:nowrap}.compactServiceList{max-height:18rem;overflow:auto;padding-right:.2rem}.serviceButton{display:grid;gap:.25rem;width:100%;border:1px solid rgba(99,66,76,.12);border-radius:1rem;background:#fffaf8;padding:.9rem;color:#2d2528;text-align:left}.serviceButton em{color:#9d315f;font-size:.72rem;font-style:normal;font-weight:850;line-height:1.2}.serviceButton span{font-weight:850;line-height:1.25}.serviceButton small,.slotButton small,.dateHeading span{color:#74696d}.serviceButton.selected{border-color:#8f1f5773;background:#fae7ef;box-shadow:inset 0 0 0 1px #8f1f5729}.compactServiceList .serviceButton{border-radius:.82rem;padding:.72rem}.addOnSection{margin-top:.85rem;border-top:1px solid rgba(99,66,76,.1);padding-top:.85rem}.addOnHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.addOnHeader h3{margin-bottom:.2rem}.addOnHeader p{margin:0;color:#74696d;font-size:.88rem;line-height:1.4}.addOnHeader strong{border-radius:999px;background:#8f1f57;color:#fff;padding:.35rem .65rem;font-size:.82rem}.addOnHint{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem;border-radius:999px;background:#fff3df;color:#865120;padding:.55rem .7rem;font-size:.82rem;font-weight:850}.addOnList{display:grid;gap:.55rem}.addOnButton{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;width:100%;border:1px solid rgba(99,66,76,.12);border-radius:.9rem;background:#ffffffd1;color:#2d2528;padding:.75rem;text-align:left}.addOnButton span{display:grid;gap:.22rem;font-weight:850}.addOnButton em{color:#9d315f;font-size:.72rem;font-style:normal;font-weight:850}.addOnButton small{color:#74696d;font-weight:800}.addOnButton.selected{border-color:#8f1f5773;background:#f7dce8;box-shadow:inset 0 0 0 1px #8f1f5729}.bookingAccountBox,.bookingSummary{display:grid;gap:.7rem;margin-bottom:.75rem;border:1px solid rgba(143,31,87,.14);border-radius:1rem;background:linear-gradient(135deg,#fae7efd6,#fff8f1e0);padding:.85rem}.bookingAccountBox h4{margin:0 0 .2rem;color:#2d2528;font-size:.98rem;font-weight:900}.bookingAccountBox p{margin:0;color:#74696d;font-size:.84rem;font-weight:750;line-height:1.45}.bookingAccountToggle,.bookingAccountActions,.clientNameGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.accountModeButton,.bookingAccountActions button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid rgba(99,66,76,.14);border-radius:.85rem;background:#ffffffe0;color:#2d2528;padding:.72rem .8rem;font-weight:900}.accountModeButton.selected{border-color:#8f1f5759;background:#f7dce8;color:#6e2448}.bookingAccountAlert{border-left:3px solid #8f1f57;background:#ffffff9e;border-radius:.75rem;padding:.65rem .75rem}.bookingLoginFields{display:grid;gap:.45rem}.bookingLoginFields .fieldLabel{margin-top:0}.bookingSummaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.bookingSummaryGrid span{display:grid;gap:.18rem;min-width:0;border:1px solid rgba(99,66,76,.1);border-radius:.78rem;background:#ffffffb3;padding:.62rem .7rem}.bookingSummaryGrid small{color:#8f1f57;font-size:.68rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.bookingSummaryGrid strong{overflow-wrap:anywhere;color:#2d2528;font-size:.86rem;font-weight:900;line-height:1.25}.bookingSummary>small{color:#74696d;line-height:1.35}.bookingSummary .bookingHoldNotice{color:#6e2448;font-weight:800}.panelCopy{color:#74696d;font-size:.92rem;font-weight:700;line-height:1.55;margin:0 0 .75rem}.fieldLabel{display:block;margin:.85rem 0 .35rem;color:#4d4247;font-size:.88rem;font-weight:800}input,select,textarea{width:100%;border:1px solid rgba(99,66,76,.16);border-radius:.9rem;background:#fffffff0;color:#2d2528;outline:0;padding:.85rem .95rem}input:focus,select:focus,textarea:focus{border-color:#8f1f578c;box-shadow:0 0 0 4px #8f1f571f}.inputWrap{gap:.65rem;border:1px solid rgba(99,66,76,.16);border-radius:.9rem;background:#fffffff0;color:#8f1f57;padding:0 .85rem}.inputWrap input{border:0;border-radius:0;background:transparent;padding-left:0}.inputWrap input:focus{box-shadow:none}.dateList{display:grid;gap:.85rem}.monthCalendar{border:1px solid rgba(99,66,76,.1);border-radius:1rem;background:linear-gradient(135deg,#fffaf8f5,#fcf0f3bd);padding:.85rem}.monthHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.monthHeader strong{color:#2d2528;font-size:1rem}.miniIconButton{width:2.25rem;height:2.25rem;display:grid;place-items:center;border:1px solid rgba(143,31,87,.14);border-radius:50%;background:#ffffffd1;color:#8f1f57}.weekdayGrid,.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.weekdayGrid{margin-bottom:.35rem}.weekdayGrid span{color:#8a7d82;font-size:.72rem;font-weight:900;text-align:center}.calendarDay{min-height:3rem;display:grid;place-items:center;gap:.1rem;border:1px solid transparent;border-radius:.85rem;background:#ffffff94;color:#8a7d82;padding:.35rem}.calendarDay:disabled{cursor:default}.calendarDay.available{border-color:#8f1f5729;background:#fff;color:#2d2528;box-shadow:0 8px 20px #50303a0f}.calendarDay.selected{border-color:#8f1f57;background:#8f1f57;color:#fff}.calendarDay.muted:not(.available){opacity:.42}.calendarDay span{font-weight:900}.calendarDay small{min-width:1.2rem;border-radius:999px;background:#fae7ef;color:#8f1f57;font-size:.68rem;font-weight:900;line-height:1.2rem;text-align:center}.calendarDay.selected small{background:#fff3;color:#fff}.dateBlock{border:1px solid rgba(99,66,76,.1);border-radius:1rem;background:linear-gradient(135deg,#fffaf8f0,#fcf0f3b8);padding:.85rem}.selectedDateBlock{margin-top:.85rem}.dateHeading{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem}.slotButton{gap:.35rem;justify-content:center;border:1px solid rgba(143,31,87,.12);border-radius:999px;background:#fff;color:#3a3035;padding:.72rem .75rem}.slotButton.selected{background:#8f1f57;color:#fff}.slotButton.holding{background:#f8ecf2;border-color:#8f1f573d;color:#6e2448}.slotButton:disabled{cursor:wait;opacity:.62}.slotButton.selected small{color:#ffffffc7}.showMoreButton{width:100%;margin-top:.7rem;border:1px solid rgba(143,31,87,.16);border-radius:999px;background:#ffffffb8;color:#8f1f57;padding:.72rem;font-weight:850}.emptyState{min-height:12rem;display:grid;place-items:center;gap:.75rem;border:1px dashed rgba(143,31,87,.18);border-radius:1rem;color:#76686e;text-align:center;padding:1.5rem}.emptyState.compact{min-height:5rem}.policy{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;margin:1rem 0;color:#5e5358;font-size:.9rem;line-height:1.45}.policy input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:#8f1f57}.bookButton{justify-content:center;width:100%}.bookButton:disabled{cursor:not-allowed;opacity:.55}.voucherAmountGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.65rem}.voucherAmountButton,.recipientToggle button{border:1px solid rgba(143,31,87,.14);border-radius:999px;background:#fff;color:#3a3035;padding:.75rem;font-weight:850}.voucherAmountButton.selected,.recipientToggle button.selected{border-color:#8f1f57;background:#8f1f57;color:#fff}.recipientToggle{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.squareCardBox{min-height:5.1rem;display:grid;gap:.55rem;align-items:stretch;border:1px solid rgba(99,66,76,.16);border-radius:.9rem;background:#fff;padding:.85rem}.squareCardMount{min-height:3rem;width:100%}.squareCardStatus,.secureNote{display:flex;align-items:center;gap:.45rem;color:#74696d;font-size:.86rem;font-weight:750}.staffCardCapturePanel{display:grid;gap:.75rem;border:1px solid rgba(143,31,87,.12);border-radius:.9rem;background:#fff8fb;padding:.85rem}.compactHeader{margin-bottom:0}.staffCardModeToggle button{display:flex;align-items:center;justify-content:center;gap:.45rem}.staffConsentCheck{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;color:#4d4146;font-size:.84rem;font-weight:760;line-height:1.45}.staffConsentCheck input{margin-top:.15rem;accent-color:#8f1f57}.errorText{color:#9f2d39!important}.voucherTotal{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0;border-radius:1rem;background:linear-gradient(135deg,#fae7efd6,#fff8f1e0);padding:.95rem}.voucherTotal span,.voucherTotal strong{color:#2d2528;font-weight:900}.secureNote{justify-content:center;margin:.75rem 0 0}.message{border-radius:.9rem;margin:1rem 0 0;padding:.85rem;font-weight:750;line-height:1.4}.message.success{background:#e7f6ee;color:#236446}.message.error{background:#fde8ea;color:#9f2532}.message.warning{background:#fff3df;color:#865120}.message.compactMessage{display:inline-flex;align-items:center;gap:.45rem;margin-top:.65rem;padding:.65rem .75rem;font-size:.86rem}.portalAppointmentList{display:grid;gap:.75rem}.portalPanelTitleRow,.portalMembershipTop,.portalCreditRow,.portalMembershipActions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.portalPanelTitleRow h3{margin:0}.portalPanelTitleRow svg{color:#8f1f57}.portalMembershipList{display:grid;gap:.85rem}.portalMembershipCard{display:grid;gap:.85rem;border:1px solid rgba(143,31,87,.14);border-radius:1rem;background:linear-gradient(135deg,#fff,#fff7fb);padding:.95rem}.portalMembershipTop strong,.portalCreditRow strong{display:block;color:#2d2528;font-weight:950}.portalMembershipTop span,.portalCreditRow span{display:block;color:#74696d;font-size:.84rem;font-weight:750;margin-top:.2rem}.portalMembershipStatus{flex:0 0 auto;border-radius:999px;background:#e7f6ee;color:#236446;font-size:.72rem;font-style:normal;font-weight:950;padding:.38rem .58rem;text-transform:uppercase;white-space:nowrap}.portalMembershipStatus.paused,.portalMembershipStatus.failed{background:#fff3df;color:#865120}.portalMembershipStatus.cancelled,.portalMembershipStatus.expired{background:#f5e9ec;color:#8f1f57}.portalMembershipMetricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.portalMembershipMetricGrid span{display:grid;gap:.18rem;min-width:0;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#ffffffb8;padding:.65rem}.portalMembershipMetricGrid small{color:#74696d;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.portalMembershipMetricGrid strong{color:#2d2528;font-size:.95rem;font-weight:950}.portalCreditList{display:grid;gap:.5rem}.portalCreditRow{border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#ffffffbd;padding:.7rem}.portalCreditRow em{flex:0 0 auto;border-radius:999px;background:#171314;color:#fffaf8;font-size:.78rem;font-style:normal;font-weight:950;padding:.38rem .58rem;white-space:nowrap}.portalMembershipAlert{margin:0;border:1px solid rgba(143,31,87,.16);border-radius:.85rem;background:#fff3df;color:#865120;font-size:.86rem;font-weight:850;padding:.7rem}.portalMembershipTerms{border-top:1px solid rgba(91,62,71,.12);padding-top:.65rem}.portalMembershipTerms summary{color:#2d2528;cursor:pointer;font-size:.9rem;font-weight:950}.portalMembershipTerms p{color:#74696d;font-size:.84rem;font-weight:700;line-height:1.45;margin:.55rem 0 0}.portalMembershipActions{flex-wrap:wrap;justify-content:flex-start}.portalMembershipActions a{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;border:1px solid rgba(91,62,71,.14);border-radius:999px;background:#fffaf8;color:#2d2528;padding:.45rem .7rem;font-size:.78rem;font-weight:900;text-decoration:none}.portalAppointmentCard{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;border:1px solid rgba(143,31,87,.12);border-radius:1rem;background:linear-gradient(135deg,#fff,#fff8f3);padding:.9rem}.portalDateTile{width:4.6rem;min-height:4.8rem;display:grid;place-items:center;align-content:center;border-radius:.95rem;background:#171314;color:#fffaf8;padding:.55rem;text-align:center}.portalDateTile strong,.portalDateTile span,.portalDateTile small{display:block;color:inherit;margin:0}.portalDateTile strong{font-size:1.45rem;line-height:1}.portalDateTile span{color:#fffaf8c2;font-size:.72rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.portalDateTile small{color:#fffaf8e6;font-size:.68rem;font-weight:850}.portalAppointmentCard strong,.portalAppointmentCard span{display:block}.portalAppointmentCard strong{color:#2d2528;font-weight:900}.portalAppointmentCard span{color:#74696d;font-size:.88rem;font-weight:750;margin-top:.25rem}.portalAppointmentCard .portalDateTile strong,.portalAppointmentCard .portalDateTile span,.portalAppointmentCard .portalDateTile small{color:inherit;margin:0}.portalAppointmentCard .portalDateTile span{color:#fffaf8c2;font-size:.72rem;letter-spacing:.08em}.portalAppointmentCard .portalDateTile small{color:#fffaf8e6;font-size:.68rem}.portalBadges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.portalBadges em{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;background:#e7f6ee;color:#236446;font-size:.72rem;font-style:normal;font-weight:900;padding:.35rem .55rem;white-space:nowrap}.portalBadges em.requested{background:#fff3df;color:#865120}.portalAppointmentActions{display:grid;gap:.55rem;justify-items:end}.portalActionLinks{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.portalActionLinks a,.portalConfirmButton{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.2rem;border:1px solid rgba(91,62,71,.14);border-radius:999px;background:#fffaf8;color:#2d2528;padding:.45rem .7rem;font-size:.78rem;font-weight:900;text-decoration:none;white-space:nowrap}.portalConfirmButton{background:#171314;color:#fffaf8;cursor:pointer}.portalConfirmButton:disabled{cursor:wait;opacity:.72}.infoStrip{max-width:1180px;margin:0 auto 3rem;padding:0 clamp(1rem,4vw,2rem);gap:.75rem;flex-wrap:wrap}.infoStrip div{display:flex;align-items:center;gap:.45rem;border:1px solid rgba(91,62,71,.12);border-radius:999px;background:#ffffffb8;color:#5e5358;padding:.7rem .9rem;font-weight:750}.spin{animation:spin 1s linear infinite}.membershipAgreementPublicPage{min-height:100vh;background:linear-gradient(90deg,#fffaf8f0,#fffaf8bd),var(--hero-image);background-position:center;background-size:cover;padding:clamp(1rem,4vw,2.5rem)}.membershipAgreementPublicShell{display:grid;gap:1rem;width:min(1120px,100%);margin:0 auto}.membershipAgreementPublicHeader{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(.9rem,3vw,1.5rem);align-items:center;border:1px solid rgba(91,62,71,.1);border-radius:1.2rem;background:#ffffffbd;padding:clamp(1rem,3vw,1.45rem);box-shadow:0 20px 54px #50303a1c}.membershipAgreementPublicHeader img{width:min(15rem,46vw);height:auto}.membershipAgreementPublicHeader h1{margin:0;color:#241b20;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:0;line-height:1}.membershipAgreementPublicHeader small{color:#74696d;font-weight:850}.membershipAgreementPublicGrid{display:grid;grid-template-columns:minmax(18rem,.82fr) minmax(0,1.18fr);gap:1rem;align-items:start}.membershipAgreementPublicCard{display:grid;gap:.9rem;border-radius:1rem;background:#ffffffdb;box-shadow:0 20px 54px #50303a1a}.membershipAgreementPublicTitle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start}.membershipAgreementPublicTitle svg{color:#13714f}.membershipAgreementPublicTitle span,.membershipAgreementIncluded{display:grid;gap:.2rem;min-width:0}.membershipAgreementPublicTitle strong{color:#241b20;font-size:1.25rem;line-height:1.2}.membershipAgreementPublicTitle small,.membershipAgreementIncluded span{color:#74696d;font-weight:820;line-height:1.35}.membershipAgreementPublicMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem}.membershipAgreementPublicMetrics.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.membershipAgreementPublicMetrics span{display:grid;gap:.18rem;border:1px solid rgba(91,62,71,.08);border-radius:.75rem;background:#fffaf8;padding:.72rem}.membershipAgreementPublicMetrics small{color:#74696d;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.membershipAgreementPublicMetrics strong{color:#241b20;line-height:1.2}.membershipAgreementIncluded{border:1px solid rgba(19,113,79,.12);border-radius:.85rem;background:#f7fcf9;padding:.85rem}.membershipAgreementIncluded>strong,.membershipAgreementPublicCard h2{margin:0;color:#241b20}.membershipAgreementIncluded span{display:inline-flex;align-items:center;gap:.4rem}.membershipAgreementTextBlock{width:100%;max-height:26rem;margin:0;overflow:auto;border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#fffaf8;color:#4c4246;font-family:inherit;font-size:.92rem;font-weight:720;line-height:1.52;padding:.9rem;white-space:pre-wrap}.membershipAgreementPublicCard label:not(.staffConsentCheck){display:grid;gap:.36rem;color:#5d5357;font-size:.78rem;font-weight:950}@media(max-width:860px){.membershipAgreementPublicHeader,.membershipAgreementPublicGrid,.membershipAgreementPublicMetrics.compact{grid-template-columns:1fr}}.privacyPage{min-height:100vh;background:#fffaf8;color:#2d2528}.privacyHero{max-width:900px;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2rem) 2rem}.privacyHero .heroLogo{width:min(320px,70vw);margin-bottom:1.5rem}.privacyHero h1{font-size:clamp(2.3rem,7vw,5rem);line-height:.95;margin:.4rem 0 1rem}.privacyHero p,.privacyContent p{color:#675b60;font-size:1rem;line-height:1.75}.privacyContent{max-width:900px;margin:0 auto 4rem;padding:0 clamp(1rem,4vw,2rem) 3rem}.privacyContent h2{color:#2d2528;font-size:1.15rem;margin:2rem 0 .4rem}.privacyBackLink{display:inline-flex;margin-top:2rem}.staffWebPage{min-height:100vh;background:linear-gradient(135deg,#fffaf8f5,#f8eee8e6),var(--hero-image);color:#2d2528}.staffWebLogin{width:min(520px,calc(100% - 2rem));margin:0 auto;padding:clamp(3rem,10vh,7rem) 0}.staffWebLogin h1,.staffWebIntro h1{margin:0;color:#171314;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;letter-spacing:0}.staffWebLogo{width:min(270px,70vw);height:auto;object-fit:contain}.staffLoginPanel{display:grid;gap:.8rem;margin-top:1.5rem}.staffRememberOptions{display:grid;gap:.45rem}.staffRememberOption{align-items:center;color:#5d5357;font-size:.86rem;font-weight:850}.staffWebHeader{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(91,62,71,.1);background:#fffaf8eb;padding:.95rem clamp(1rem,4vw,2rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.staffWebHeader p{margin:.25rem 0 0;color:#74696d;font-size:.85rem;font-weight:800}.staffWebHeaderActions,.staffWideButton{display:flex;align-items:center}.staffWebHeaderActions{gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.staffWebShell{max-width:1440px;margin:0 auto;padding:2rem clamp(1rem,4vw,2rem) 4rem}.staffWebIntro{align-items:flex-end}.staffWebIntro>span{border-radius:999px;background:#171314;color:#fffaf8;padding:.8rem 1rem;font-weight:900}.staffQuickStats{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.5rem}.staffQuickStats span,.staffQuickStats strong,.staffQuickStats em{border-radius:999px;padding:.72rem .95rem;font-size:.88rem;font-style:normal;font-weight:900;white-space:nowrap}.staffQuickStats span{background:#171314;color:#fffaf8}.staffQuickStats strong{background:#e8f5ed;color:#265640}.staffQuickStats em{background:#eee6db;color:#5b4432}.staffWebGrid{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(22rem,1.1fr) minmax(20rem,.9fr);gap:1rem;align-items:start}.staffWebGrid-calendar,.staffWebGrid-bookings,.staffWebGrid-staff,.staffWebGrid-services,.staffWebGrid-categories,.staffWebGrid-resources,.staffWebGrid-inventory,.staffWebGrid-products,.staffWebGrid-till,.staffWebGrid-vouchers,.staffWebGrid-memberships{grid-template-columns:1fr}.staffWebGrid-messaging{grid-template-columns:minmax(18rem,.82fr) minmax(24rem,1.35fr)}.staffSectionTabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0;border:1px solid rgba(91,62,71,.1);border-radius:1rem;background:#fffaf8c7;padding:.45rem}.staffSectionTabs button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:2.6rem;border:1px solid transparent;border-radius:.75rem;background:transparent;color:#5d5357;padding:.55rem .8rem;font-size:.86rem;font-weight:900}.staffSectionTabs button.active{border-color:#8f1f5733;background:#171314;color:#fffaf8;box-shadow:0 12px 24px #2d25281f}.staffTabBadge{display:inline-grid;min-width:1.35rem;height:1.35rem;place-items:center;border-radius:999px;background:#a9235f;color:#fffaf8;padding:0 .38rem;font-size:.72rem;font-weight:950}.staffSectionTabs button:hover,.staffSectionTabs button:focus-visible{border-color:#8f1f573d;outline:none}.staffWebPanel{display:grid;gap:.9rem}.staffWebPanel select,.staffWebPanel input,.staffWebPanel textarea,.staffLoginPanel input{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.9rem;background:#fffaf8cc;color:#2d2528;padding:.85rem .95rem}.staffLoginPanel .staffRememberOption input{width:1rem;height:1rem;padding:0;accent-color:#8f1f57}.staffClientList,.staffAppointmentList,.staffSlotGrid{display:grid;gap:.6rem}.staffClientList{max-height:24rem;overflow:auto;padding-right:.2rem}.staffClientButton,.staffAppointmentCard{border:1px solid rgba(91,62,71,.1);border-radius:1rem;background:#fffaf8;padding:.85rem}.staffAppointmentCard.needsLink{border-color:#8f1f5759;background:#fff7fb}.staffClientButton{display:grid;gap:.2rem;text-align:left}.staffClientButton.selected{border-color:#8f1f577a;background:#fbebf2;box-shadow:0 12px 25px #8f1f571a}.staffClientButton span,.staffAppointmentCard strong{color:#241b20;font-weight:900}.clientNameWithBadges{display:inline-flex;align-items:center;gap:.35rem;min-width:0;flex-wrap:wrap}.staffClientButton small,.staffAppointmentCard span,.staffAppointmentCard em,.staffAppointmentCard small,.staffCreateClient h4,.panelCopy{color:#74696d}.staffAppointmentCard small{display:block;margin-top:.2rem;font-weight:850}.staffCreateClient,.quickAddClientCard,.staffUploadForm{display:grid;gap:.7rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.9rem}.staffCreateClient h4,.quickAddClientCard h4{margin:0;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase}.quickAddClientCard p{margin:.25rem 0 0;color:#74696d;font-size:.84rem;font-weight:750;line-height:1.45}.twoColumnFields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.staffWideButton{justify-content:center;border:1px solid rgba(91,62,71,.14)}.staffSlotGrid{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.selectedServiceList{display:grid;gap:.5rem}.selectedServiceList span{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;border:1px solid rgba(91,62,71,.12);border-radius:.8rem;background:#fffaf8;color:#50474a;padding:.65rem .75rem;font-size:.86rem;font-weight:850}.selectedServiceList strong{color:#8f1f57;font-size:.78rem;white-space:nowrap}.selectedServiceList button{width:2rem;min-height:2rem;border-radius:50%;border:1px solid rgba(91,62,71,.12);background:#fff;color:#63424c;padding:0}.selectedSlotSummary{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(143,31,87,.2);border-radius:.9rem;background:#fbebf2;color:#3b252d;padding:.75rem .85rem;font-weight:900}.selectedSlotSummary span{display:grid;gap:.15rem}.selectedSlotSummary small{color:#74696d;font-weight:750}.staffAppointmentCard{display:grid;gap:.25rem;background:linear-gradient(135deg,#fff,#fff7f1)}.staffAppointmentCard span,.staffAppointmentCard em{font-size:.86rem;font-style:normal;font-weight:750}.staffUploadPanel,.staffClientDirectoryPanel,.staffManagerPanel,.serviceManagerPanel,.categoryManagerPanel,.resourceManagerPanel,.productManagerPanel,.onlineBookingsPanel,.tillManagerPanel,.voucherManagerPanel{grid-column:1 / -1}.clientDirectoryList,.staffManagerRows,.serviceManagerRows,.categoryManagerRows,.resourceManagerRows,.voucherManagerRows{display:grid;gap:.55rem;max-height:42rem;overflow:auto;padding-right:.2rem}.clientDirectoryRow,.staffManagerRow,.serviceManagerRow,.categoryManagerRow,.resourceManagerRow,.tillTransactionRow,.voucherManagerRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#fffaf8;color:#2d2528;padding:.85rem;text-align:left}.clientDirectoryRow span,.staffManagerRow span,.serviceManagerRow span,.categoryManagerRow span,.resourceManagerRow span,.tillTransactionRow span,.voucherManagerRow span{display:grid;gap:.16rem;min-width:0}.clientDirectoryRow strong,.staffManagerRow strong,.serviceManagerRow strong,.categoryManagerRow strong,.resourceManagerRow strong,.tillTransactionRow strong,.voucherManagerRow strong{color:#241b20;overflow-wrap:anywhere}.clientDirectoryRow small,.staffManagerRow small,.serviceManagerRow small,.categoryManagerRow small,.resourceManagerRow small,.tillTransactionRow small,.voucherManagerRow small{color:#74696d;font-weight:800}.clientAppStatusBadge{display:inline-flex;align-items:center;gap:.22rem;width:fit-content;margin-left:.45rem;border:1px solid rgba(91,62,71,.14);border-radius:999px;background:#fff;color:#74696d;padding:.16rem .42rem;font-size:.68rem;font-weight:950;line-height:1;vertical-align:middle;white-space:nowrap}.clientAppStatusBadge.active{border-color:#227e593d;background:#ecf8f2;color:#13714f}.clientAppStatusBadge.pushReady{border-color:#2f6f953d;background:#e7f1f6;color:#2f6f95}.clientAppStatusBadge.inactive{background:#f6f1f1;color:#8b7f84}.clientBookingBanBadge{display:inline-flex;align-items:center;gap:.22rem;width:fit-content;border:1px solid rgba(143,31,87,.2);border-radius:999px;background:#fff1f6;color:#9b1d56;padding:.16rem .42rem;font-size:.68rem;font-weight:950;line-height:1;vertical-align:middle;white-space:nowrap}.clientNameWithBadges .clientBookingBanBadge{color:#9b1d56;font-weight:950}.drawerHeader .clientAppStatusBadge,.messagingThreadHeader .clientAppStatusBadge{display:inline-flex;margin-top:0}.clientDirectoryRow em,.staffManagerRow em,.serviceManagerRow em,.categoryManagerRow em,.resourceManagerRow em,.tillTransactionRow em,.voucherManagerRow em{color:#8f1f57;font-style:normal;font-weight:950;white-space:nowrap}.serviceManagerLayout{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(22rem,1.2fr);gap:1rem;align-items:start}.voucherManagerLayout{display:grid;grid-template-columns:minmax(22rem,1fr) minmax(22rem,.86fr);gap:1rem;align-items:start}.serviceManagerList,.staffManagerList,.serviceManagerEditor,.staffManagerEditor,.categoryManagerEditor,.resourceManagerEditor,.voucherManagerList,.voucherManagerEditor,.tillSubPanel{display:grid;gap:.8rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#ffffffad;padding:.9rem}.serviceManagerTop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}.managerFilterTop{grid-template-columns:minmax(0,1fr) minmax(8.5rem,auto) auto}.voucherManagerList .serviceManagerTop{grid-template-columns:minmax(0,1fr) minmax(10rem,auto) auto}.membershipDashboardPanel,.membershipLaunchPanel,.membershipPresetPanel,.membershipBuilderPanel{grid-column:1 / -1}.membershipLaunchGrid,.membershipMaintenanceList{display:grid;gap:.65rem}.membershipLaunchGrid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));margin-top:.85rem}.membershipMaintenanceList{border-top:1px solid rgba(91,62,71,.12);margin-top:.9rem;padding-top:.85rem}.membershipMaintenanceList>strong{color:#2d2528;font-size:.92rem;font-weight:950}.membershipBackendStatus{display:grid;gap:.55rem;border-top:1px solid rgba(91,62,71,.12);margin-top:.9rem;padding-top:.85rem}.membershipBackendStatus>strong{color:#2d2528;font-size:.92rem;font-weight:950}.membershipBackendStatus>div{display:flex;flex-wrap:wrap;gap:.5rem}.membershipBackendStatus span{border-radius:999px;font-size:.8rem;font-weight:950;padding:.35rem .65rem}.membershipBackendStatus span.safe{background:#ecf8f2;color:#13714f}.membershipBackendStatus span.live{background:#fbebf2;color:#8f1f57}.membershipBackendStatus small{color:#74696d;font-size:.8rem;font-weight:780;line-height:1.35}.membershipBackendActions{display:flex;flex-wrap:wrap;gap:.55rem}.membershipBackendActions button{min-height:2.35rem}.membershipLaunchCheck{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem;align-items:start;border:1px solid rgba(91,62,71,.12);border-radius:.85rem;background:#fffaf8;padding:.75rem}.membershipLaunchCheck.maintenance{background:#f7fbff}.membershipLaunchCheck input{width:1.05rem;height:1.05rem;margin-top:.1rem;accent-color:#8f1f57}.membershipLaunchCheck span{display:grid;gap:.16rem}.membershipLaunchCheck strong{color:#2d2528;font-weight:950;line-height:1.25}.membershipLaunchCheck small{color:#74696d;font-size:.8rem;font-weight:780;line-height:1.35}.membershipPresetGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13.5rem,1fr));gap:.7rem}.membershipPresetCard{display:grid;gap:.75rem;align-content:start;border:1px solid rgba(91,62,71,.12);border-radius:.85rem;background:#fffaf8;padding:.85rem}.membershipPresetTop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:start}.membershipPresetTop span,.membershipPresetIncluded{display:grid;gap:.18rem;min-width:0}.membershipPresetTop strong,.membershipPresetIncluded strong{color:#241b20;line-height:1.2}.membershipPresetTop small,.membershipPresetIncluded small,.membershipPresetMeta small,.membershipDuplicateWarning small{color:#74696d;font-weight:800;line-height:1.35}.membershipPresetTop svg{color:#8f1f57}.membershipPresetMeta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.membershipPresetMeta span{display:grid;gap:.12rem;border:1px solid rgba(91,62,71,.08);border-radius:.7rem;background:#ffffffb8;padding:.55rem;min-width:0}.membershipPresetMeta strong{color:#2d2528;font-size:.88rem;line-height:1.18;overflow-wrap:anywhere}.membershipMetricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.65rem}.membershipMetricGrid span,.membershipSummaryCard{display:grid;gap:.18rem;border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#fffaf8;padding:.8rem}.membershipMetricGrid small,.membershipSummaryCard small{color:#74696d;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.membershipMetricGrid strong,.membershipSummaryCard strong{color:#241b20;font-size:1.05rem;line-height:1.2}.membershipInsightGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.membershipInsightPanel{display:grid;gap:.65rem;border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#ffffffa8;padding:.85rem}.membershipInsightHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:start}.membershipInsightHeader span,.membershipInsightRows,.membershipInsightRow span{display:grid;gap:.16rem;min-width:0}.membershipInsightHeader small,.membershipInsightRow small{color:#74696d;font-weight:800;line-height:1.35}.membershipInsightHeader svg{color:#8f1f57}.membershipInsightRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;border:1px solid rgba(91,62,71,.08);border-radius:.72rem;background:#fffaf8;color:#2d2528;padding:.68rem;text-align:left}.membershipInsightRow.passive{cursor:default}.membershipInsightRow em{border-radius:999px;background:#f3eef1;color:#5f5458;font-style:normal;font-weight:950;padding:.22rem .5rem;white-space:nowrap}.membershipSummaryCard.featured{border-color:#8f1f5740;background:#fbebf2}.membershipSummaryCard.warning{border-color:#86512038;background:#fff3df}.membershipLiveButton:not(:disabled){background:#171314;color:#fffaf8}.membershipAgreementEmailButton:not(:disabled){background:#f7fcf9;color:#13714f;border-color:#13714f38}.membershipCardCapturePanel{display:grid;gap:.7rem;border:1px solid rgba(91,62,71,.12);border-radius:.85rem;background:#fffaf8;padding:.8rem}.membershipCardCapturePanel h4{margin:0;color:#2d2528;font-size:.98rem}.membershipCardCaptureActions{display:flex;flex-wrap:wrap;gap:.55rem}.membershipRows,.membershipClientResults,.membershipServiceResults,.membershipIncludedList{display:grid;gap:.55rem}.membershipRows{max-height:30rem;overflow:auto;padding-right:.2rem}.membershipClientResults button,.membershipServiceToggle,.membershipIncludedRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.7rem;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#fffaf8;color:#2d2528;padding:.78rem;text-align:left}.membershipRow{display:grid;gap:.62rem;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#fffaf8;color:#2d2528;padding:.78rem}.membershipRowMain{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.7rem;border:0;background:transparent;color:inherit;padding:0;text-align:left}.membershipRow span,.membershipClientResults button span,.membershipServiceToggle span,.membershipIncludedRow span{display:grid;gap:.14rem;min-width:0}.membershipRow small,.membershipClientResults button small,.membershipServiceToggle small,.membershipIncludedRow small{color:#74696d;font-weight:800}.membershipRow .membershipWalletLine{color:#5f5458;font-weight:750;line-height:1.35}.membershipRowTools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.62rem;align-items:end;border-top:1px solid rgba(91,62,71,.08);padding-top:.62rem}.membershipCreditAdjustList,.membershipRowActions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.membershipCreditAdjust{display:flex;align-items:center;gap:.35rem;border:1px solid rgba(91,62,71,.08);border-radius:.68rem;background:#ffffffb8;padding:.35rem}.membershipCreditAdjust small{max-width:9.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.membershipCreditAdjust button,.membershipRowActions button{min-height:2rem;border:1px solid rgba(91,62,71,.12);border-radius:.55rem;background:#fff;color:#2d2528;font-size:.78rem;font-weight:950;padding:.25rem .55rem}.membershipCreditAdjust button:disabled,.membershipRowActions button:disabled{opacity:.52;cursor:not-allowed}.membershipRowActions .dangerTextButton{border-color:#9b2e2a2e;color:#9b2e2a}.appointmentMembershipHeader{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.appointmentMembershipHeader span{border-radius:999px;background:#f3eef1;color:#5f5458;font-size:.78rem;font-weight:900;padding:.24rem .6rem;white-space:nowrap}.membershipWalletList{display:grid;gap:.62rem}.membershipWalletCard{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#fffaf8;padding:.78rem}.membershipWalletCard.redeemable{border-color:#13714f47;background:#f7fcf9}.membershipWalletCard>div:first-child,.membershipWalletActions{display:grid;gap:.24rem;min-width:0}.membershipWalletCard small{color:#74696d;font-weight:780;line-height:1.35}.membershipWalletActions{justify-items:end}.membershipWalletActions span{color:#2d2528;font-weight:950;white-space:nowrap}.membershipWalletActions button{min-height:2.35rem}.membershipDiscountPanel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:.65rem;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fff;padding:.82rem}.membershipDiscountPanel.ready{border-color:#13714f4d;background:#f7fcf9}.membershipDiscountPanel>div{display:grid;gap:.22rem;min-width:0}.membershipDiscountPanel small,.membershipDiscountBreakdown{color:#74696d;font-size:.82rem;font-weight:780;line-height:1.35}.membershipDiscountBreakdown{display:block}.membershipDiscountPanel button{min-height:2.4rem;white-space:nowrap}.membershipRow em{border-radius:999px;background:#ecf8f2;color:#13714f;padding:.28rem .52rem;font-style:normal;font-weight:950;white-space:nowrap}.membershipRow.failed em,.membershipRow.overdue em{background:#fff1f0;color:#9b2e2a}.membershipRow.paused em,.membershipRow.test em{background:#f2eee7;color:#705c43}.membershipClientResults button.selected,.membershipServiceToggle.selected{border-color:#8f1f576b;background:#fbebf2}.membershipBuilderForm{display:grid;gap:.9rem}.membershipBuilderLayout{display:grid;grid-template-columns:minmax(16rem,.85fr) minmax(18rem,1fr) minmax(17rem,.85fr);gap:.85rem;align-items:start}.membershipBuilderColumn,.membershipBuilderSummary{display:grid;gap:.7rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#ffffffad;padding:.85rem}.membershipDuplicateWarning{display:grid;gap:.55rem;border:1px solid rgba(156,92,30,.22);border-radius:.8rem;background:#fff7ec;color:#5d3d1d;padding:.78rem}.membershipDuplicateWarning>div,.membershipDuplicateWarning>span{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.48rem;align-items:start}.membershipDuplicateWarning>div span{display:grid;gap:.14rem;min-width:0}.membershipDuplicateWarning>span{grid-template-columns:1fr;border-top:1px solid rgba(156,92,30,.14);padding-top:.48rem}.membershipDuplicateWarning strong{color:#4b2f16;line-height:1.2}.membershipDuplicateWarning svg{color:#9c5c1e}.membershipServiceToggle{grid-template-columns:auto minmax(0,1fr)}.membershipIncludedRow{grid-template-columns:minmax(0,1fr) auto}.membershipQuantityControl{display:grid;grid-template-columns:2.25rem 4rem 2.25rem;gap:.28rem;align-items:center}.membershipQuantityControl button{min-height:2.35rem;border:1px solid rgba(91,62,71,.14);border-radius:.6rem;background:#fff;color:#2d2528;font-weight:950}.membershipIncludedRow input,.membershipQuantityControl input{min-width:0;text-align:center}@media(max-width:560px){.membershipIncludedRow{grid-template-columns:1fr}.membershipQuantityControl{width:100%;grid-template-columns:2.4rem minmax(0,1fr) 2.4rem}}.membershipAgreementPreview{display:grid;gap:.7rem;border:1px solid rgba(36,27,32,.12);border-radius:.8rem;background:#fffdfb;padding:.78rem}.membershipAgreementHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:start}.membershipAgreementHeader span,.membershipAgreementRows span{display:grid;gap:.15rem;min-width:0}.membershipAgreementHeader small,.membershipAgreementRows small,.membershipAgreementTerms p{color:#74696d;font-weight:800;line-height:1.35}.membershipAgreementHeader svg{color:#13714f}.membershipAgreementRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem}.membershipAgreementRows span{border:1px solid rgba(91,62,71,.08);border-radius:.65rem;background:#fffaf8;padding:.52rem}.membershipAgreementRows strong{color:#241b20;font-size:.88rem;line-height:1.25;overflow-wrap:anywhere}.membershipAgreementTerms{display:grid;gap:.45rem;border-top:1px solid rgba(91,62,71,.08);max-height:13rem;overflow:auto;padding-top:.62rem;padding-right:.15rem}.membershipAgreementTerms p{margin:0}.membershipTermsGrid{display:grid;grid-template-columns:repeat(3,minmax(10rem,1fr));gap:.75rem}.membershipTermsGrid label,.membershipBuilderForm label{display:grid;gap:.32rem;color:#5d5357;font-size:.78rem;font-weight:950}.membershipRolloverToggle{display:flex;align-items:center;width:fit-content}.membershipBuilderActions{display:flex;flex-wrap:wrap;gap:.65rem}@media(max-width:980px){.membershipMetricGrid,.membershipPresetGrid,.membershipInsightGrid,.membershipBuilderLayout,.membershipTermsGrid{grid-template-columns:1fr}.membershipRowMain,.membershipRowTools,.membershipWalletCard,.membershipDiscountPanel{grid-template-columns:1fr;align-items:start}.membershipWalletActions{justify-items:start}.membershipRow em{width:fit-content}.membershipAgreementRows{grid-template-columns:1fr}}.voucherDuplicatePanel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:start;border:1px solid rgba(188,99,16,.18);border-radius:.9rem;background:#fffaf2;padding:.9rem}.voucherDuplicatePanel h4{margin:0 0 .24rem;color:#2d2528}.voucherDuplicatePanel p{margin:0;color:#74696d;font-weight:800;line-height:1.35}.voucherDuplicatePanel .message{grid-column:1 / -1;margin:0}.voucherDuplicateGroups{grid-column:1 / -1;display:grid;gap:.7rem}.voucherDuplicateGroup{display:grid;gap:.6rem;border:1px solid rgba(188,99,16,.16);border-radius:.85rem;background:#fff;padding:.75rem}.voucherDuplicateGroup header{display:flex;justify-content:space-between;gap:.7rem;align-items:flex-start}.voucherDuplicateGroup header span{display:grid;gap:.16rem;min-width:0}.voucherDuplicateGroup header small{color:#74696d;font-weight:800;line-height:1.3}.voucherDuplicateGroup header em,.voucherDuplicateBadge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;background:#fff3df;color:#8a4f00;font-style:normal;font-weight:950;line-height:1}.voucherDuplicateGroup header em{padding:.32rem .56rem;font-size:.72rem;white-space:nowrap}.voucherDuplicateRows{display:grid;gap:.48rem}.voucherDuplicateRows button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.65rem;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#fffaf8;color:#2d2528;padding:.7rem;text-align:left}.voucherDuplicateRows button span{display:grid;gap:.15rem;min-width:0}.voucherDuplicateRows button small{color:#74696d;font-weight:800}.voucherDuplicateRows button em{color:#8f1f57;font-style:normal;font-weight:950;white-space:nowrap}.voucherManagerRow.hasDuplicateWarning{border-color:#bc63105c;background:#fffaf2}.voucherManagerRow strong .voucherDuplicateBadge{margin-left:.45rem;padding:.22rem .42rem;font-size:.65rem;vertical-align:middle}.serviceManagerTop .secondaryLink{justify-content:center;min-height:2.7rem}.managerStatusSelect{display:grid;gap:.2rem;color:#74696d;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.managerStatusSelect select{min-height:2.7rem;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8e6;color:#2d2528;padding:.55rem .75rem;font:inherit;font-size:.86rem;font-weight:900;letter-spacing:0;text-transform:none}.serviceManagerRow.selected,.voucherManagerRow.selected{border-color:#8f1f576b;background:#fbebf2}.onlineBookingMetrics{display:grid;grid-template-columns:repeat(5,minmax(8rem,1fr));gap:.6rem}.onlineBookingMetrics span{display:grid;gap:.18rem;border:1px solid rgba(91,62,71,.1);border-radius:.78rem;background:#fffaf8;padding:.72rem .82rem}.onlineBookingMetrics small{color:#74696d;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.onlineBookingMetrics strong{color:#241b20;font-size:1.3rem;font-weight:950}.onlineBookingFilters{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(9rem,auto) minmax(11rem,auto);gap:.65rem;align-items:center}.onlineBookingFilters select{min-height:2.75rem;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8e6;color:#2d2528;padding:.55rem .75rem;font:inherit;font-size:.86rem;font-weight:900}.onlineBookingList{display:grid;gap:.58rem}.onlineBookingRow{display:grid;grid-template-columns:minmax(7rem,.48fr) minmax(14rem,1.05fr) minmax(15rem,1.2fr) minmax(13rem,1fr) minmax(11rem,.72fr);gap:.75rem;align-items:center;border:1px solid rgba(91,62,71,.1);border-radius:.82rem;background:#fffaf8;color:#2d2528;padding:.82rem;text-align:left}.onlineBookingRow:hover{border-color:#8f1f5747;background:#fff6fa}.onlineBookingRow>span{min-width:0}.onlineBookingClient,.onlineBookingService,.onlineBookingAddOns{display:grid;gap:.18rem}.onlineBookingClient strong,.onlineBookingService strong,.onlineBookingAddOns strong{color:#241b20;font-weight:950;overflow-wrap:anywhere}.onlineBookingClient small,.onlineBookingService small,.onlineBookingAddOns small{color:#74696d;font-size:.8rem;font-weight:800;overflow-wrap:anywhere}.onlineBookingService em{color:#8f1f57;font-size:.76rem;font-style:normal;font-weight:950;text-transform:uppercase;letter-spacing:0}.onlineBookingSource,.onlineBookingCard{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:999px;padding:.42rem .62rem;font-size:.78rem;font-weight:950;white-space:nowrap}.onlineBookingSource{background:#e7f1f6;color:#2f6f95}.onlineBookingSource.app{background:#efe7f6;color:#6c3f86}.onlineBookingCard{background:#f1e9de;color:#6b5038}.onlineBookingCard.saved{background:#e8f5ed;color:#265640}.onlineBookingCard.missing{background:#fff0ee;color:#9b2f2f}.messagingInboxPanel,.messagingThreadPanel{min-width:0}.messagingConversationList,.messagingClientResults{display:grid;gap:.55rem}.messagingConversationList{max-height:36rem;overflow:auto;padding-right:.18rem}.messagingConversationButton{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .6rem;border:1px solid rgba(91,62,71,.1);border-radius:.82rem;background:#fffaf8;color:#2d2528;padding:.78rem;text-align:left}.messagingConversationButton:hover,.messagingConversationButton:focus-visible,.messagingConversationButton.selected{border-color:#8f1f574d;background:#fff6fa;outline:none}.messagingConversationButton.unread{border-color:#a9235f52;box-shadow:inset .24rem 0 #a9235f}.messagingConversationButton span{display:grid;gap:.16rem;min-width:0}.messagingConversationButton strong,.messagingClientResults span{color:#241b20;font-weight:950;overflow-wrap:anywhere}.messagingConversationButton small,.messagingClientResults small{color:#74696d;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}.messagingConversationButton em{color:#8f8085;font-size:.74rem;font-style:normal;font-weight:850;white-space:nowrap}.messagingConversationButton p{grid-column:1 / -1;margin:0;color:#5d5357;font-size:.84rem;font-weight:800;line-height:1.34;overflow-wrap:anywhere}.messagingConversationButton b{position:absolute;right:.7rem;bottom:.68rem;display:inline-grid;min-width:1.4rem;height:1.4rem;place-items:center;border-radius:999px;background:#a9235f;color:#fffaf8;padding:0 .35rem;font-size:.72rem;font-weight:950}.messagingStartPanel{display:grid;gap:.55rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.7rem}.messagingClientResults button{display:grid;gap:.14rem;border:1px solid rgba(91,62,71,.1);border-radius:.72rem;background:#fffaf8;color:#2d2528;padding:.66rem .72rem;text-align:left}.messagingClientResults button:hover,.messagingClientResults button:focus-visible{border-color:#8f1f5747;background:#fff6fa;outline:none}.messagingThreadPanel{align-self:stretch}.messagingThreadHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;border-bottom:1px solid rgba(91,62,71,.1);padding-bottom:.7rem}.messagingThreadHeader h3{margin:0;color:#241b20;font-size:1.35rem}.messagingThreadHeader span{color:#74696d;font-size:.86rem;font-weight:850}.messagingThreadMessages{display:grid;align-content:start;gap:.65rem;min-height:28rem;max-height:42rem;overflow:auto;border:1px solid rgba(91,62,71,.08);border-radius:.9rem;background:#fffaf89e;padding:.85rem}.chatBubble{display:grid;gap:.38rem;width:min(82%,34rem);border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#fff;padding:.75rem .85rem}.chatBubble.fromClinic{justify-self:end;border-color:#a9235f2b;background:#fbebf2}.chatBubble.fromClient{justify-self:start;background:#fffaf8}.chatBubble header{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.chatBubble strong{color:#241b20;font-size:.82rem;font-weight:950}.chatBubble small,.chatBubble em{color:#8f8085;font-size:.72rem;font-style:normal;font-weight:850;white-space:nowrap}.chatBubble p{margin:0;color:#352c30;font-size:.92rem;font-weight:750;line-height:1.42;overflow-wrap:anywhere;white-space:pre-wrap}.messagingComposer{display:grid;gap:.55rem}.messagingComposer textarea{min-height:7rem;resize:vertical}.messagingComposerActions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.messagingComposerActions span{color:#74696d;font-size:.8rem;font-weight:850}.serviceManagerEditor label,.staffManagerEditor label,.categoryManagerEditor label,.resourceManagerEditor label,.voucherManagerEditor label,.voucherClientPicker{display:grid;gap:.38rem;color:#50474a;font-size:.78rem;font-weight:900}.serviceManagerEditor input,.serviceManagerEditor select,.serviceManagerEditor textarea,.staffManagerEditor input,.staffManagerEditor select,.staffManagerEditor textarea,.categoryManagerEditor input,.categoryManagerEditor select,.categoryManagerEditor textarea,.resourceManagerEditor input,.resourceManagerEditor select,.resourceManagerEditor textarea,.voucherManagerEditor input,.voucherManagerEditor textarea,.voucherManagerEditor select,.tillSubPanel input,.tillSubPanel textarea,.tillTransactionEdit input,.tillTransactionEdit select{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem;font:inherit}.voucherClientResults{display:grid;gap:.4rem;max-height:14rem;overflow:auto}.voucherClientResults button{display:grid;gap:.1rem;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#fffaf8;color:#2d2528;padding:.65rem .75rem;text-align:left;font-weight:900}.voucherClientResults small,.voucherClientResults em{color:#74696d;font-size:.75rem;font-style:normal;font-weight:800}.voucherSelectedClient{grid-template-columns:auto minmax(0,1fr) auto}.voucherSelectedClient button{border:1px solid rgba(91,62,71,.14);border-radius:999px;background:#fffaf8;color:#2d2528;padding:.35rem .65rem;font-weight:900}.voucherAuditPanel{display:grid;gap:.45rem;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#fffaf8;padding:.7rem;color:#74696d;font-size:.8rem;font-weight:850}.voucherAuditPanel strong{color:#2d2528}.serviceManagerChecks{display:flex;flex-wrap:wrap;gap:.75rem}.categoryServicePanel{display:grid;gap:.65rem;border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#fffaf8;padding:.8rem}.categoryServiceRows{display:grid;gap:.55rem;max-height:24rem;overflow:auto;padding-right:.15rem}.categoryServiceRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,.8fr);gap:.75rem;align-items:end;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#ffffffb8;padding:.75rem}.categoryServiceRow>span{display:grid;gap:.15rem;min-width:0}.categoryServiceRow strong{color:#241b20;overflow-wrap:anywhere}.categoryServiceRow small{color:#74696d;font-weight:800}.resourceAllocationPanel{display:grid;gap:.65rem;border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#fffaf8;padding:.8rem}.resourceToggleList{max-height:18rem}.compactToggleList{max-height:14rem}.productManagerPanel{display:grid;gap:1rem}.inventoryLockedPanel{max-width:38rem}.inventoryLockCard{display:grid;gap:.9rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#ffffffb8;padding:1rem}.inventoryLockCard h4{margin:0;color:#241b20}.inventoryLockCard label,.inventoryStatusFilter{display:grid;gap:.38rem;color:#50474a;font-size:.78rem;font-weight:900}.inventoryLockCard input,.inventoryStatusFilter select{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem;font:inherit}.productManagerLayout{display:grid;grid-template-columns:minmax(20rem,.95fr) minmax(24rem,1fr) minmax(21rem,.9fr);gap:1rem;align-items:start}.productManagerColumn,.supplierOrderBuilder{display:grid;gap:.8rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#ffffffad;padding:.9rem}.productManagerControls{display:grid;gap:.65rem}.productTypeToggle{grid-template-columns:repeat(3,minmax(0,1fr))}.productInventoryList,.supplierList,.supplierOrderProductList{display:grid;gap:.55rem;max-height:36rem;overflow:auto;padding-right:.2rem}.productInventoryRow,.supplierRow,.supplierOrderProductRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#fffaf8;color:#2d2528;padding:.78rem;text-align:left}.supplierOrderProductRow{grid-template-columns:minmax(0,1fr) auto 5.5rem auto}.productInventoryRow.selected,.supplierRow.selected,.supplierOrderProductRow.selected{border-color:#8f1f576b;background:#fbebf2}.productInventoryRow.inactive{background:#f7f1ee;color:#6e6264}.productInventoryRow.deleted{border-style:dashed;background:#f8eeee;color:#8a4b4b}.productInventoryRow span,.supplierRow span,.supplierOrderProductRow span,.productInventoryRow em{display:grid;gap:.16rem;min-width:0}.productInventoryRow strong,.supplierRow strong,.supplierOrderProductRow strong{color:#241b20;overflow-wrap:anywhere}.productInventoryRow small,.supplierRow small,.supplierOrderProductRow small{color:#74696d;font-weight:800}.productInventoryRow em,.supplierOrderProductRow em{color:#8f1f57;font-style:normal;font-weight:950;text-align:right;white-space:nowrap}.productEditor label,.supplierEditor label,.supplierOrderTop label,.supplierOrderTotals label{display:grid;gap:.38rem;color:#50474a;font-size:.78rem;font-weight:900}.productEditor input,.productEditor select,.productEditor textarea,.supplierEditor input,.supplierEditor select,.supplierEditor textarea,.supplierOrderTop input,.supplierOrderTop select,.supplierOrderTotals input,.supplierOrderTotals textarea,.supplierOrderProductRow input{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem;font:inherit}.supplierEditor{display:grid;gap:.75rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.8rem}.supplierOrderBuilder{margin-top:.25rem}.supplierOrderTop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.supplierOrderTotals{display:grid;grid-template-columns:minmax(10rem,.5fr) minmax(16rem,1fr) minmax(16rem,.7fr);gap:.75rem;align-items:stretch}.orderTotalCard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;border:1px solid rgba(143,31,87,.14);border-radius:.9rem;background:#fff8fb;padding:.75rem}.orderTotalCard span{display:grid;gap:.2rem}.orderTotalCard small{color:#74696d;font-weight:850}.orderTotalCard strong{color:#2d2528;font-size:1rem;font-weight:950}.inventoryEditorActions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.75rem}.inventoryEditorActions span{color:#74696d;font-weight:900}.recentSupplierOrders{display:grid;gap:.35rem;border:1px solid rgba(91,62,71,.1);border-radius:.85rem;background:#fffaf8b8;padding:.85rem}.recentSupplierOrders h4{margin:0;color:#241b20}.recentSupplierOrderRow{display:flex;justify-content:space-between;gap:.8rem;border-top:1px solid rgba(91,62,71,.08);padding-top:.65rem}.recentSupplierOrders h4+.recentSupplierOrderRow{border-top:0;padding-top:0}.recentSupplierOrderRow span,.recentSupplierOrderRow strong,.recentSupplierOrderRow small{display:block}.recentSupplierOrderRow small{color:#74696d;font-weight:800}.recentSupplierOrderRow em{color:#8f1f57;font-style:normal;font-weight:950;white-space:nowrap}.staffManagerLayout{grid-template-columns:minmax(18rem,.72fr) minmax(26rem,1.28fr)}.staffRosterCard,.staffSecurityPanel{display:grid;gap:.75rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#ffffff9e;padding:.8rem}.preferredDayGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.preferredDayGrid .checkRow{justify-content:center;min-height:2.4rem;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#fffaf8;padding:.4rem}.staffServiceToggleList{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.5rem;max-height:24rem;overflow:auto;padding-right:.15rem}.staffServiceToggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem .55rem;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#fffaf8;color:#2d2528;padding:.65rem .7rem;text-align:left;font-weight:900}.staffServiceToggle.selected{border-color:#8f1f5759;background:#fbebf2}.staffServiceToggle small{grid-column:2;color:#74696d;font-size:.74rem;font-weight:800}.staffSecurityPanel{margin-top:1rem}.staffSecurityUnlock{display:grid;grid-template-columns:minmax(14rem,1fr) auto;gap:.6rem;align-items:center}.staffSecurityUnlock input{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem;font:inherit}.staffPermissionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.staffPermissionGrid>div{display:grid;gap:.42rem;align-content:start}.staffPermissionGrid h5{margin:0;color:#2d2528;font-size:.9rem}.staffPermissionGrid .checkRow{min-height:2.2rem;border:1px solid rgba(91,62,71,.09);border-radius:.7rem;background:#fffaf8;padding:.35rem .55rem;font-size:.8rem}.tillHeaderTools{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:center}.tillStaffChips{display:flex;flex-wrap:wrap;gap:.45rem}.tillStaffChips button{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(91,62,71,.12);border-radius:999px;background:#fffaf8;color:#2d2528;padding:.55rem .75rem;font-weight:900}.tillStaffChips button.selected{background:#171314;color:#fffaf8}.tillStaffChips small{border-radius:999px;background:#fff3;padding:.12rem .35rem;font-size:.62rem}.tillSeparationNotice{margin-top:.75rem}.walkInSalePanel{border-color:#8f1f5729;background:#fff8fb}.walkInSaleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.75rem;align-items:start}.walkInSaleColumn{display:grid;gap:.6rem;align-content:start;border:1px solid rgba(91,62,71,.08);border-radius:.8rem;background:#ffffffa3;padding:.75rem}.walkInSaleColumn h4{margin:0}.walkInSaleColumn label:not(.serviceSearchBox){display:grid;gap:.32rem;color:#50474a;font-size:.78rem;font-weight:900}.walkInSaleColumn select{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem;font:inherit}.walkInSaleLineItem{display:grid;grid-template-columns:minmax(0,1fr) minmax(4.3rem,.32fr) minmax(7rem,.5fr) auto;gap:.5rem;align-items:end;border:1px solid rgba(91,62,71,.09);border-radius:.7rem;background:#fffaf8;padding:.6rem}.walkInSaleLineItem span{display:grid;gap:.12rem;min-width:0}.walkInSaleLineItem small{color:#74696d;font-size:.76rem;font-weight:800}.walkInSaleLineItem input{min-height:2.3rem;padding:.55rem .65rem}.walkInSaleLineItem em{color:#8f1f57;font-style:normal;font-weight:950;white-space:nowrap}.walkInVoucherPaymentBox{display:grid;gap:.55rem;border:1px solid rgba(143,31,87,.14);border-radius:.75rem;background:#fff7fb;padding:.65rem}.walkInVoucherPaymentBox h4{font-size:.9rem}.eodOpenInvoiceAlert{display:grid;gap:.2rem;margin:.75rem 0 0}.eodOpenInvoiceAlert strong{color:inherit}.eodSummaryStrip{display:grid;grid-template-columns:minmax(8rem,.45fr) minmax(10rem,.55fr) minmax(16rem,1fr);gap:.6rem;margin-top:.75rem}.eodSummaryStrip span{display:grid;gap:.18rem;border:1px solid rgba(91,62,71,.09);border-radius:.8rem;background:#fffaf8;padding:.75rem}.eodSummaryStrip small,.eodSurchargeNote span{color:#8e8085;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.eodSummaryStrip strong{color:#241b20;line-height:1.2}.eodOnePagePrint{display:none}.eodCompletedByField{display:grid;gap:.38rem;color:#50474a;font-size:.72rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.tillMetricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.6rem}.tillMetricGrid span{display:grid;gap:.18rem;border:1px solid rgba(91,62,71,.09);border-radius:.8rem;background:#fffaf8;padding:.75rem}.tillMetricGrid small{color:#8e8085;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.tillMetricGrid strong{color:#241b20;font-size:1rem;line-height:1.1}.tillMetricGrid .highlight strong,.tillMetricGrid .warning strong{color:#8f1f57}.tillWorkGrid{display:grid;grid-template-columns:minmax(18rem,.95fr) minmax(22rem,1.05fr);gap:1rem}.tillReconciliationPanel{grid-column:1 / -1}.tillSubPanel h4{margin:0;color:#2d2528}.tillDiscrepancyAlert{margin:0}.tillActualGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.65rem}.tillActualGrid label{display:grid;gap:.38rem;color:#50474a;font-size:.72rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.eodSurchargeNote{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgba(91,62,71,.09);border-radius:.75rem;background:#fffaf8;padding:.75rem}.eodSurchargeNote strong{color:#8f1f57}.tillReconciliationRows{display:grid;gap:.42rem}.tillReconciliationHeader,.tillReconciliationRow{display:grid;grid-template-columns:minmax(11rem,1fr) repeat(3,minmax(6.2rem,auto));gap:.7rem;align-items:center}.tillReconciliationHeader{color:#8e8085;font-size:.66rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.tillReconciliationRow{border:1px solid rgba(91,62,71,.09);border-radius:.75rem;background:#fffaf8;padding:.7rem}.tillReconciliationRow.warning{border-color:#8f1f5752;background:#fff4f7}.tillReconciliationRow strong{display:block;color:#241b20;font-size:.9rem}.tillReconciliationRow small{display:block;color:#8e8085;font-size:.72rem;font-weight:800;margin-top:.12rem}.tillReconciliationRow em{color:#2d2528;font-style:normal;font-weight:950;text-align:right}.tillReconciliationRow.warning em:last-child{color:#8f1f57}.cashCountGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem}.cashCountGrid label{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.45rem;align-items:center;border:1px solid rgba(91,62,71,.08);border-radius:.75rem;background:#fffaf8;padding:.55rem}.cashCountGrid span{color:#241b20;font-weight:950}.cashCountGrid input{text-align:center}.cashCountGrid em{grid-column:1 / -1;color:#74696d;font-size:.78rem;font-style:normal;font-weight:850;text-align:right}.tillTransactions,.eodEditsPanel{grid-column:1 / -1}.eodEditRow{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,auto) auto;gap:.7rem;align-items:center;border:1px solid rgba(91,62,71,.09);border-radius:.75rem;background:#fffaf8;padding:.7rem}.eodEditRow span{display:grid;gap:.12rem}.eodEditRow small{color:#74696d;font-weight:800}.eodEditRow em,.eodEditRow>strong{color:#8f1f57;font-style:normal;font-weight:950;text-align:right}.tillTransactionRow{grid-template-columns:minmax(0,1fr) auto auto}.tillTransactionRow.openInvoice{border-color:#8f1f5757;background:#fff4f7}.tillPaymentRecordList{grid-column:1 / -1;display:grid;gap:.45rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.6rem}.tillPaymentRecordRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.65rem;align-items:center;border:1px solid rgba(91,62,71,.08);border-radius:.65rem;background:#fff;padding:.6rem}.tillTransactionRow button,.tillTransactionActions button,.tillPaymentRecordRow button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid rgba(91,62,71,.14);border-radius:.65rem;background:#fffaf8;color:#2d2528;padding:.55rem .75rem;font-weight:900}.tillTransactionEdit{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.tillTransactionActions{grid-column:1 / -1;display:flex;gap:.55rem;justify-content:flex-end}.staffFileDrop{display:grid;min-height:5rem;place-items:center;border:1px dashed rgba(143,31,87,.28);border-radius:1rem;background:#fffaf8cc;color:#8f1f57;font-weight:900;text-align:center}.staffFileDrop input{width:1px;height:1px;opacity:0;position:absolute;pointer-events:none}.staffUpdateBanner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#171314;color:#fffaf8;padding:.75rem 1rem;font-weight:850}.staffUpdateBanner button,.zoomControls button,.drawerCard button,.productSearchResults button{border:1px solid rgba(91,62,71,.14);border-radius:.65rem;background:#fffaf8;color:#2d2528;font-weight:850}.staffUpdateBanner button{border-color:#ffffff38;background:#fffaf8;padding:.55rem .8rem}.staffCalendarPanel{grid-column:span 2}.staffCalendarTools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem}.zoomControls,.dateJumpControls{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem;border:1px solid rgba(91,62,71,.1);border-radius:999px;background:#fffaf8c7;padding:.35rem}.zoomControls button,.dateJumpControls button{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.45rem .7rem;font-size:.78rem}.dateJumpControls{margin-top:.55rem}.staffCalendarTools .dateJumpControls{margin-top:0}.zoomControls span{min-width:3.4rem;text-align:center;color:#74696d;font-size:.8rem;font-weight:900}.calendarDatePicker{display:inline-flex;align-items:center;gap:.45rem;color:#74696d;font-size:.78rem;font-weight:900}.calendarWeekdayBadge{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;min-height:2.35rem;border:1px solid rgba(143,31,87,.18);border-radius:999px;background:#fbebf2;color:#8f1f57;padding:.45rem .75rem;text-transform:uppercase}.calendarDatePicker input{width:auto;min-height:2.35rem;border:1px solid rgba(91,62,71,.12);border-radius:999px;background:#fff;color:#2d2528;padding:.45rem .75rem;font:inherit}.staffTimeline{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:.7rem;overflow-x:auto;border:1px solid rgba(91,62,71,.1);border-radius:1rem;background:#fffaf8b8;padding:.7rem}.timelineTimes{display:grid;grid-template-rows:3.2rem 1fr;color:#74696d;font-size:.75rem;font-weight:850}.timelineTimesHeader{min-height:3.2rem}.timelineTimesBody{position:relative}.timelineTimesBody span{position:absolute;right:0;transform:translateY(-50%)}.timelineLanes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(13.5rem,1fr);gap:.65rem;min-width:42rem}.timelineEmpty{min-width:18rem;align-self:stretch}.timelineLane{display:grid;grid-template-rows:3.2rem 1fr;min-width:13.5rem}.timelineLane header{display:grid;gap:.15rem;min-height:3.2rem;border:1px solid rgba(91,62,71,.1);border-bottom:0;border-radius:.85rem .85rem 0 0;background:#fff;padding:.65rem .75rem}.timelineLane header strong{color:#241b20}.timelineLane header span{color:#74696d;font-size:.78rem;font-weight:800}.timelineStaffName{display:inline-flex;align-items:center;justify-content:flex-start;gap:.35rem;width:fit-content;border:0;background:transparent;color:#241b20;padding:0;text-align:left;cursor:pointer}.timelineStaffName:hover,.timelineStaffName:focus-visible{color:#8f1f57}.timelineLaneBody{position:relative;overflow:hidden;border:1px solid rgba(91,62,71,.1);border-radius:0 0 .85rem .85rem;background:linear-gradient(to bottom,rgba(91,62,71,.11) 0 1px,transparent 1px) 0 0 / 100% var(--timeline-hour-height) repeat-y,linear-gradient(to bottom,rgba(91,62,71,.045) 0 1px,transparent 1px) 0 0 / 100% calc(var(--timeline-hour-height) / 2) repeat-y,#fffaf8}.timelineLane.isDropTarget .timelineLaneBody{border-color:#8f1f5761;background:linear-gradient(180deg,#8f1f5714,#fffaf894),linear-gradient(to bottom,rgba(91,62,71,.11) 0 1px,transparent 1px) 0 0 / 100% var(--timeline-hour-height) repeat-y,linear-gradient(to bottom,rgba(91,62,71,.045) 0 1px,transparent 1px) 0 0 / 100% calc(var(--timeline-hour-height) / 2) repeat-y,#fffaf8;box-shadow:inset 0 0 0 2px #8f1f5729}.rosterShade{position:absolute;left:0;right:0;background:#2d252814;pointer-events:none}.timelineHoverTime{position:absolute;z-index:12;right:.35rem;left:.35rem;height:0;border-top:2px solid rgba(143,31,87,.74);pointer-events:none;transform:translateY(-1px)}.timelineHoverTime span{position:absolute;top:0;left:.35rem;transform:translateY(-50%);border:1px solid rgba(143,31,87,.18);border-radius:999px;background:#fff;color:#8f1f57;box-shadow:0 8px 20px #50303a29;padding:.22rem .5rem;font-size:.72rem;font-weight:950;white-space:nowrap}.timelineAppointment{position:absolute;z-index:1;box-sizing:border-box;min-height:0;display:grid;align-content:start;gap:.12rem;overflow:hidden;border:1px solid rgba(143,31,87,.22);border-radius:.65rem;background:linear-gradient(135deg,#fbebf2,#fff);color:#241b20;padding:.34rem .42rem;text-align:left;box-shadow:0 10px 22px #50303a1c;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.timelineAppointment:hover,.timelineAppointment:focus-visible{z-index:5;border-color:#8f1f576b;box-shadow:0 14px 28px #50303a29;outline:none}.timelineAppointment:active,.timelineAppointment.isDragging{z-index:10;cursor:grabbing;border-color:#8f1f578c;box-shadow:0 18px 34px #50303a33;opacity:.94}.timelineAppointment.isResizing{cursor:ns-resize}.timelineAppointment.isCrossLaneSource{opacity:.42}.timelineAppointment.laneTransferPreview{pointer-events:none;border-style:dashed;background:linear-gradient(135deg,#fff,#fbebf2)}.timelineAppointment.hasCalendarWarning{border-color:#bc6310b8;padding-left:.62rem;box-shadow:0 0 0 2px #bc631029,0 14px 28px #50303a29}.timelineAppointment.hasCalendarWarning:before{content:"";position:absolute;top:.34rem;bottom:.34rem;left:.24rem;width:.18rem;border-radius:999px;background:#bc6310}.timelineResizeHandle{position:absolute;right:.55rem;bottom:.18rem;left:.55rem;height:.32rem;border-radius:999px;background:#8f1f5747;cursor:ns-resize;opacity:.5}.timelineAppointment:hover .timelineResizeHandle,.timelineAppointment:focus-visible .timelineResizeHandle,.timelineAppointment.isDragging .timelineResizeHandle{opacity:.9}.timelineAppointment.blocked{border-color:#2d25282e;background:repeating-linear-gradient(135deg,#f1ede9 0,#f1ede9 8px,#fffaf8 8px,#fffaf8 16px)}.timelineAppointmentTop,.staffAppointmentCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;min-width:0}.timelineAppointment strong{font-size:.78rem;line-height:1.2;min-width:0}.timelineAppointment span{color:#74696d;font-size:.72rem;font-weight:800;line-height:1.2}.timelineAppointment small{color:#8f1f57;font-size:.68rem;font-weight:900;line-height:1.1}.timelineAppointmentNote{color:#5f565a;font-size:.68rem;font-style:normal;font-weight:800;line-height:1.12;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointmentConfirmBadge,.requestIcon,.bookingSourceBadge,.appointmentWarningBadge,.appointmentAlertBadge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;font-weight:950}.timelineAppointmentBadges{display:inline-flex;align-items:center;gap:.25rem;flex-wrap:wrap}.bookingSourceBadge{width:1.2rem;height:1.2rem;background:#e7f1f6;color:#2f6f95}.bookingSourceBadge.app{background:#efe7f6;color:#6c3f86}.appointmentAlertBadge{min-width:1.2rem;height:1.2rem;gap:.12rem;border:1px solid rgba(138,79,0,.18);background:#fff2cc;color:#8a4f00;font-size:.66rem;line-height:1}.appointmentWarningBadge{min-height:1.2rem;gap:.14rem;padding:0 .36rem;border:1px solid rgba(188,99,16,.22);background:#fff3df;color:#8a4f00;font-size:.64rem;line-height:1}.appointmentConfirmBadge{min-width:1.45rem;min-height:1.45rem;padding:0 .35rem;background:#fff3df;color:#865120;font-size:.75rem;line-height:1}.appointmentConfirmBadge.compact{min-width:1.2rem;min-height:1.2rem;padding:0 .25rem;font-size:.68rem}.appointmentConfirmBadge.confirmed{background:#e7f6ee;color:#236446}.appointmentStatusPill{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;background:#f4edf1;color:#5f2445;padding:.32rem .6rem;font-size:.76rem;font-weight:950;line-height:1;text-transform:uppercase}.appointmentStatusPill.compact{padding:.22rem .38rem;font-size:.62rem}.appointmentStatusPill.paid{background:#e7f6ee;color:#236446}.appointmentStatusPill.here{background:#e7f1f6;color:#2f6f95}.appointmentStatusPill.confirmed{background:#f2ecff;color:#5c3d86}.appointmentStatusPill.requested{background:#fff3df;color:#865120}.requestIcon{width:1.05rem;height:1.05rem;background:#fff3df;color:#865120;font-size:.72rem}.blockOutForm{display:grid;gap:.65rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.9rem}.rosterEditor{display:grid;gap:.75rem;border-top:1px solid rgba(91,62,71,.1);padding-top:.9rem}.rosterWeeklyGrid{display:grid;gap:.45rem}.rosterDayRow{display:grid;grid-template-columns:minmax(5.5rem,.8fr) minmax(0,1fr) minmax(0,1fr);gap:.55rem;align-items:center;border:1px solid rgba(91,62,71,.09);border-radius:.8rem;background:#fffaf8bf;padding:.55rem}.rosterDayRow.working{border-color:#8f1f5738;background:#fff}.rosterDateOverride,.rosterMonthEditor{display:grid;gap:.65rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#fff9;padding:.8rem}.rosterMonthToolbar{display:grid;grid-template-columns:minmax(7rem,.55fr) minmax(9rem,1fr) minmax(7rem,.55fr);gap:.55rem;align-items:center}.rosterMonthToolbar button{justify-content:center}.compactCopy{margin:0}.rosterMonthList{display:grid;gap:.45rem;max-height:34rem;overflow:auto;padding-right:.25rem}.rosterMonthRow{display:grid;grid-template-columns:minmax(8.5rem,1fr) minmax(6.75rem,.8fr) minmax(6rem,.7fr) minmax(6rem,.7fr) minmax(6.7rem,.7fr);gap:.5rem;align-items:center;border:1px solid rgba(91,62,71,.09);border-radius:.8rem;background:#fffaf8b8;padding:.5rem}.rosterMonthRow.working{background:#fff}.rosterMonthRow.custom{border-color:#8f1f573d}.rosterMonthRow.edited{box-shadow:inset 0 0 0 2px #8f1f571f}.rosterMonthDate{display:grid;gap:.12rem;min-height:2.8rem;border:0;background:transparent;color:#2d2528;text-align:left;cursor:pointer}.rosterMonthDate strong,.rosterMonthDate span{display:block}.rosterMonthDate strong{font-size:.92rem}.rosterMonthDate span{color:#8f1f57;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.rosterWorkingToggle.compact{min-height:2.65rem}.rosterNormalButton{justify-content:center;min-height:2.65rem}.rosterModalCard{gap:.9rem}.rosterModalTimes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.rosterModalTimes label,.rosterModalCard>label:not(.checkRow){display:grid;gap:.4rem;color:#50474a;font-size:.78rem;font-weight:900}.rosterWorkingToggle{min-height:2.8rem;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#fffaf8;padding:0 .75rem}.rosterActionRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.rosterActionRow button{justify-content:center;border:1px solid rgba(91,62,71,.14)}.compactHeader{margin:0}.compactHeader h4{margin:0;color:#2d2528}.blockOutFields{display:grid;grid-template-columns:minmax(8rem,1fr) repeat(3,minmax(7rem,.7fr));gap:.55rem}.compactList .staffAppointmentCard{width:100%;text-align:left}.rebookNotice{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(143,31,87,.16);border-radius:.75rem;background:#fbebf2;color:#5f2445;padding:.7rem;font-size:.85rem;font-weight:850}.rebookNotice button{margin-left:auto;border:0;background:transparent;color:#8f1f57;font-weight:900}.staffModalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:flex-end;background:#17131447;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.rosterModalBackdrop{align-items:center;justify-content:center;padding:1rem}.rosterModalPanel{width:min(520px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:1rem;background:#fffaf8;box-shadow:0 24px 70px #2d252833;padding:clamp(1rem,3vw,1.45rem)}.calendarChoiceBackdrop{align-items:center;justify-content:center;padding:1rem}.calendarChoiceModal{width:min(460px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:1rem;background:#fffaf8;box-shadow:0 24px 70px #2d252833;padding:clamp(1rem,3vw,1.45rem)}.calendarBookingModal{width:min(680px,100%)}.calendarChoiceModal .drawerHeader{margin-bottom:.85rem}.publicNoticeBody{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;border:1px solid rgba(143,31,87,.16);border-radius:.9rem;background:#fff7fb;color:#3a3035;padding:.9rem}.publicNoticeBody svg{color:#8f1f57}.publicNoticeBody p{margin:0;font-weight:800;line-height:1.48}.publicNoticeButton{justify-content:center;width:100%;margin-top:.9rem}.websiteConsentModal{width:min(760px,100%)}.websiteConsentAlert{margin-bottom:.95rem}.websiteConsentForm{display:grid;gap:.85rem}.websiteConsentForm label:not(.checkRow){display:grid;gap:.35rem;color:#50474a;font-size:.78rem;font-weight:900}.websiteConsentForm label>span{text-transform:uppercase;letter-spacing:.08em}.websiteConsentForm input,.websiteConsentForm textarea{width:100%;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#ffffffe0;color:#2d2528;padding:.8rem .85rem;font:inherit;font-weight:800}.websiteConsentForm textarea{resize:vertical}.guardianConsentBox{display:grid;gap:.7rem;border:1px solid rgba(143,31,87,.2);border-radius:.9rem;background:#fff7fb;padding:.9rem}.guardianConsentBox strong{color:#8f1f57;font-weight:950}.guardianConsentBox p{margin:0;color:#50474a;font-weight:780}.websiteConsentChecks{display:grid;gap:.55rem;border:1px solid rgba(91,62,71,.1);border-radius:.9rem;background:#ffffff9e;padding:.8rem}.websiteConsentChecks .checkRow{align-items:flex-start;font-size:.88rem;line-height:1.38}.websiteConsentActions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.websiteConsentActions button{justify-content:center}.emailComposerPanel{width:min(560px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:1rem;background:#fffaf8;box-shadow:0 24px 70px #2d252833;padding:clamp(1rem,3vw,1.45rem)}.emailComposerBackdrop{z-index:30}.emailComposerForm{display:grid;gap:.8rem}.emailComposerForm label{display:grid;gap:.4rem;color:#50474a;font-size:.78rem;font-weight:900}.emailComposerForm input,.emailComposerForm select,.emailComposerForm textarea{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem;font:inherit}.emailComposerForm textarea{min-height:12rem;resize:vertical}.calendarChoiceSummary{display:grid;gap:.3rem;margin-bottom:1rem;color:#74696d;font-weight:800}.calendarChoiceSummary strong{color:#2d2528;font-size:1.05rem}.calendarChoiceWarning{margin:0 0 1rem;border-radius:.85rem;background:#fbebf2;color:#8f1f57;padding:.75rem;font-weight:850}.calendarChoiceActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.calendarChoiceActions button{justify-content:center;width:100%}.calendarChoiceActions button:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}.calendarBlockOutForm,.clientQuickAddForm,.calendarQuickBookingForm{display:grid;gap:.85rem}.calendarBlockOutForm label,.calendarQuickBookingForm label:not(.checkRow),.clientQuickAddForm label:not(.staffConsentCheck){display:grid;gap:.4rem;color:#50474a;font-size:.78rem;font-weight:900}.calendarBlockOutForm input,.calendarBlockOutForm select,.calendarQuickBookingForm input,.calendarQuickBookingForm textarea,.clientQuickAddForm label:not(.staffConsentCheck) input{width:100%;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#ffffffd1;color:#2d2528;padding:.8rem .85rem;font:inherit;font-weight:800}.clientQuickAddModal{width:min(620px,100%)}.clientQuickAddCardPanel{border-radius:.85rem}.calendarQuickBookingForm textarea{min-height:5.5rem;resize:vertical}.calendarBookingSelection{display:grid;gap:.2rem;border:1px solid rgba(143,31,87,.14);border-radius:.8rem;background:#fff7fb;color:#4c4246;padding:.75rem}.calendarBookingSelection strong{color:#241b20;font-weight:900}.calendarBookingSelection span{color:#74696d;font-weight:800}.calendarBookingServiceList{gap:.45rem}.calendarBookingRequestToggle{align-items:flex-start;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#ffffffb8;padding:.75rem}.calendarBlockOutTimes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.staffDrawer{width:min(1040px,100%);height:100vh;overflow:auto;background:#fffaf8;box-shadow:-24px 0 60px #2d25282e;padding:clamp(1rem,3vw,2rem)}.appointmentDrawer{width:min(1500px,100%)}.drawerHeader{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.drawerHeader h2{margin:0;color:#171314;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1}.drawerHeader span{display:block;margin-top:.45rem;color:#74696d;font-weight:800}.checkoutTitleRow{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.compactDrawerHeader h2{font-size:clamp(1.6rem,4vw,2.2rem)}.drawerGrid{display:grid;grid-template-columns:repeat(2,minmax(18rem,1fr));gap:1rem;align-items:start}.checkoutLayoutGrid{grid-template-columns:minmax(18rem,.82fr) minmax(42rem,2fr)}.checkoutMainColumn,.checkoutSideColumn{display:grid;gap:1rem;align-content:start;min-width:0}.checkoutLayoutGrid .productHistoryCard{grid-column:auto}.clientFileGrid{grid-template-columns:repeat(3,minmax(16rem,1fr))}.drawerCard{display:grid;gap:.75rem;border:1px solid rgba(91,62,71,.12);border-radius:.9rem;background:#ffffffdb;padding:1rem}.drawerCard h3{margin:0;color:#2d2528;font-size:1rem}.checkoutClientInfoCard{order:3}.appointmentPaymentCard,.appointmentAlertCard{order:2}.appointmentEditCard{order:1}.productHistoryCard{order:7;grid-column:1 / -1}.clientHistoryCard{order:5}.previousAppointmentAlertsCard{order:6}.upcomingAppointmentsCard{order:4}.checkoutFullProfileButton{order:8;width:100%;justify-content:center;min-height:2.85rem;border:1px solid rgba(143,31,87,.28);border-radius:.75rem;background:#fff7fb;color:#8f1f57;font-weight:950}.checkoutCollapse{display:grid;gap:.65rem}.checkoutCollapse>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.7rem;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#fffaf8;color:#2d2528;padding:.68rem .8rem;cursor:pointer;list-style:none}.checkoutCollapse>summary::-webkit-details-marker{display:none}.checkoutCollapse>summary:after{content:"+";flex:0 0 auto;width:1.45rem;height:1.45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f4dbe7;color:#8f1f57;font-weight:950}.checkoutCollapse[open]>summary:after{content:"-"}.checkoutCollapse>summary h3{margin:0;font-size:.98rem}.checkoutCollapse>summary span,.checkoutCollapse>summary strong{color:#8f1f57;font-size:.78rem;font-weight:900}.checkoutNestedCollapse{border-top:1px solid rgba(91,62,71,.1);padding-top:.75rem}.appointmentAlertCard{border-color:#8a4f0033;background:#fffaf0}.appointmentAlertCard.hasAlerts{background:#fff7df}.appointmentAlertHeader{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.appointmentAlertHeader h3{display:inline-flex;align-items:center;gap:.45rem}.appointmentAlertHeader svg{color:#8a4f00}.appointmentAlertHeader span{color:#8a4f00;font-size:.78rem;font-weight:950;white-space:nowrap}.appointmentAlertList{display:grid;gap:.55rem}.appointmentAlertList article{display:grid;gap:.25rem;border:1px solid rgba(138,79,0,.16);border-radius:.7rem;background:#ffffffc7;padding:.72rem .82rem}.appointmentAlertList article strong{color:#2d2528;font-size:.92rem;line-height:1.35}.appointmentAlertList article small{color:#7c6650;font-size:.74rem;font-weight:850;line-height:1.35}.appointmentAlertList.compact article{background:#fffaf8}.drawerCard p{margin:0;color:#74696d;font-weight:750}.clientMergePanel{display:grid;gap:.75rem;margin-top:.35rem;border:1px solid rgba(149,45,105,.16);border-radius:.8rem;background:#fef6fac7;padding:.85rem}.clientMergeHeader{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.clientMergeHeader h4{margin:0 0 .25rem;color:#2d2528;font-size:.98rem}.clientMergeHeader p{margin:0;color:#74696d;font-size:.86rem;line-height:1.35}.clientMergeHeader span{flex:0 0 auto;border-radius:999px;background:#f4dbe7;color:#8f2c62;padding:.3rem .55rem;font-size:.78rem;font-weight:900}.clientMergeList{display:grid;gap:.45rem;max-height:17rem;overflow:auto}.clientMergeOption{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#ffffffd1;padding:.65rem;cursor:pointer}.clientMergeOption.selected{border-color:#952d696b;background:#f9e6efd1}.clientMergeOption span{display:grid;gap:.15rem;min-width:0}.clientMergeOption strong,.clientMergeOption small,.clientMergeOption em{overflow-wrap:anywhere}.clientMergeOption small{color:#74696d;font-size:.82rem;font-style:normal;font-weight:750}.clientMergeOption em{color:#9a2f69;font-size:.78rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:0}.appointmentMergePanel{margin-top:0;padding:.72rem}.appointmentMergePanel .clientMergeHeader h4{font-size:.9rem}.appointmentMergePanel .clientMergeHeader p{font-size:.8rem}.appointmentMergeList{max-height:10rem}.clientFutureCard{align-content:start}.clientFutureList{display:grid;gap:.65rem}.clientFutureItem{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;border:1px solid rgba(91,62,71,.09);border-radius:.75rem;background:#fffaf8;padding:.75rem}.clientFutureIconRow{display:flex;gap:.3rem;color:#8e8085;padding-top:.15rem}.clientFutureIconRow .confirmed{color:#2d6a4f}.clientFutureIconRow .online{color:#2f6f95}.clientFutureItem div:last-child{display:grid;gap:.15rem;min-width:0}.clientFutureItem strong,.clientFutureItem span,.clientFutureItem small,.clientFutureItem em{overflow-wrap:anywhere}.clientFutureItem strong{color:#241b20;font-weight:900}.clientFutureItem span{color:#3f3539;font-weight:750}.clientFutureItem small{color:#74696d;font-weight:750}.clientFutureItem em{color:#5d5357;font-size:.78rem;font-style:normal;font-weight:750;line-height:1.35}.appointmentHistoryCard{align-content:start}.appointmentCarePlan{display:grid;gap:.45rem;border:1px solid rgba(91,62,71,.09);border-radius:.75rem;background:#fffaf8;padding:.7rem}.appointmentCarePlan p{color:#4c4246;font-size:.86rem;line-height:1.45}.drawerCard>label:not(.serviceSearchBox):not(.drawerFileButton):not(.checkRow){display:grid;gap:.4rem;color:#50474a;font-size:.78rem;font-weight:900}.blockOutNoteCard{margin-bottom:1rem;border-color:#2d252824;background:#fffaf8}.blockOutNoteCard p,.blockOutInlineNote{color:#4c4246;font-size:.95rem;line-height:1.45}.blockOutInlineNote strong{color:#241b20}.appointmentPriceEditor{display:grid;grid-template-columns:minmax(9rem,1fr) auto;gap:.55rem;align-items:end;border:1px solid rgba(143,31,87,.14);border-radius:.75rem;background:#fff7fb;padding:.7rem}.appointmentPriceEditor label{display:grid;gap:.25rem;color:#50474a;font-size:.78rem;font-weight:900}.appointmentPriceEditor input{min-height:2.7rem}.appointmentEditGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.drawerCard input,.drawerCard textarea,.drawerCard select,.blockOutForm input,.blockOutForm select{width:100%;border:1px solid rgba(91,62,71,.14);border-radius:.75rem;background:#fffaf8db;color:#2d2528;padding:.75rem .85rem}.drawerCard textarea{min-height:6rem;resize:vertical}.drawerCard button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.7rem;padding:.65rem .8rem}.drawerActionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.6rem,1fr));gap:.55rem}.checkoutMainColumn>.consultationCard{order:4}.consultationCard{gap:.7rem}.consultationCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.consultationCardHeader span{display:block;margin-top:.18rem;color:#74696d;font-size:.78rem;font-weight:850}.consultationCardHeader em{border-radius:999px;padding:.28rem .58rem;font-size:.68rem;font-style:normal;font-weight:950;text-transform:uppercase}.consultationCardHeader em.complete{background:#ecf8f2;color:#13714f}.consultationCardHeader em.pending{background:#fff0f6;color:#8f1f57}.consultationActionRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem}.consultationActionRow button:disabled{cursor:not-allowed;opacity:.48}.consultationDetails{border-top:1px solid rgba(91,62,71,.11);padding-top:.6rem}.consultationDetails>summary{color:#8f1f57;cursor:pointer;font-size:.84rem;font-weight:950;list-style:none}.consultationFieldGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem;margin-top:.6rem}.consultationFieldGrid span{display:grid;gap:.2rem;border:1px solid rgba(91,62,71,.1);border-radius:.65rem;background:#fffaf8d1;padding:.58rem .62rem}.consultationFieldGrid small{color:#8b7f84;font-size:.68rem;font-weight:850}.consultationFieldGrid strong{color:#2d2528;font-size:.82rem;font-weight:850;overflow-wrap:anywhere;white-space:pre-wrap}.manualPaymentGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.55rem}.checkoutPaymentActions{align-items:start}.paymentMethodTile{display:grid;gap:.45rem}.paymentMethodTile>button{width:100%}.appointmentPaymentAssets{display:grid;gap:.65rem;border:1px solid rgba(143,31,87,.14);border-radius:.85rem;background:#fff7fb;padding:.75rem}.paymentAssetGroup{display:grid;gap:.45rem}.paymentAssetHeader{display:flex;align-items:center;justify-content:space-between;gap:.7rem;color:#2d2528;font-weight:900}.paymentAssetHeader h3{margin:0}.paymentAssetHeader span{color:#8f1f57;font-size:.76rem;font-weight:900}.drawerCard .paymentAssetButton{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;min-height:0;text-align:left}.drawerCard .paymentAssetButton.selected{border-color:#8f1f5775;background:#fae7ef;box-shadow:inset 0 0 0 1px #8f1f5729}.paymentAssetButton span{display:grid;gap:.15rem;min-width:0}.paymentAssetButton strong{overflow-wrap:anywhere}.paymentAssetButton small{color:#74696d;font-size:.76rem;font-weight:800}.paymentAssetButton>small{grid-column:1 / -1;color:#8f1f57;text-align:center}.paymentAssetButton em{color:#2d2528;font-style:normal;font-weight:950;white-space:nowrap}.voucherNumberRedeemForm{display:grid;gap:.5rem;border:1px solid rgba(143,31,87,.12);border-radius:.7rem;background:#fff;padding:.65rem}.voucherNumberRedeemForm label{display:grid;gap:.25rem;margin:0}.voucherNumberRedeemForm label span,.voucherNumberRedeemForm small{color:#74696d;font-size:.74rem;font-weight:850}.voucherNumberRedeemForm input,.voucherNumberRedeemForm select{min-height:2.6rem}.assetRedeemActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.4rem,1fr));gap:.45rem}.paymentAdjustmentPanel{display:grid;gap:.55rem;padding:.7rem;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#fffaf8}.eftSurchargePanel{margin-top:0;padding:.55rem}.paymentAdjustmentPanel label{display:grid;gap:.3rem;color:#74696d;font-size:.76rem;font-weight:900}.paymentAdjustmentPanel input{min-height:2.6rem}.splitPaymentPanel{grid-template-columns:repeat(2,minmax(0,1fr))}.splitPaymentPanel .paymentChangeDue,.splitPaymentPanel small{grid-column:1 / -1}.splitPaymentPanel small{color:#74696d;font-size:.75rem;font-weight:800}.paymentChangeDue{margin:0;color:#2d2528;font-weight:850}.drawerFileButton{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.7rem;border:1px solid rgba(91,62,71,.14);border-radius:.65rem;background:#fffaf8;color:#2d2528;font-weight:850;cursor:pointer}.drawerFileButton.standalone{width:100%}.drawerFileButton input{width:1px;height:1px;opacity:0;position:absolute;pointer-events:none}.dangerButton{border-color:#9832323d!important;background:#fff3f1!important;color:#9b2f2f!important}.lineItemList,.miniHistory,.productSearchResults,.clientLinkResults,.photoGrid{display:grid;gap:.55rem}.lineItemList span,.miniHistory span,.miniHistory em{border:1px solid rgba(91,62,71,.09);border-radius:.7rem;background:#fffaf8;color:#50474a;padding:.65rem;font-size:.82rem;font-style:normal;font-weight:750;line-height:1.45}.lineItemList span{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem}.lineItemList span em{min-width:0;font-style:normal}.lineItemRemoveButton{width:1.65rem;height:1.65rem;border:1px solid rgba(152,50,50,.18);border-radius:999px;background:#fff3f1;color:#9b2f2f;display:inline-flex;align-items:center;justify-content:center;padding:0}.productSearchResults,.clientLinkResults{max-height:14rem;overflow:auto}.compactResults{max-height:11rem}.appointmentServices{margin-top:-.25rem}.inlineSaleProducts{display:grid;gap:.65rem;border:1px solid rgba(143,31,87,.14);border-radius:.85rem;background:#fff7fb;padding:.8rem}.inlineSaleHeader{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.inlineSaleHeader h4,.paymentOptionsHeading{margin:0;color:#2d2528;font-size:.86rem;font-weight:950}.inlineSaleHeader strong{color:#8f1f57;font-size:.92rem;white-space:nowrap}.appointmentSaleTotals{display:grid;gap:.35rem;border:1px solid rgba(91,62,71,.09);border-radius:.75rem;background:#fffaf8;padding:.65rem}.appointmentSaleTotals span{display:flex;justify-content:space-between;gap:.8rem;color:#50474a;font-size:.82rem;font-weight:850}.appointmentSaleTotals span:last-child{color:#2d2528;font-weight:950}.paymentSaleTotals{border-color:#8f1f5724;background:#fff7fb}.sameDayCheckoutPanel{display:grid;gap:.55rem;border:1px solid rgba(143,31,87,.14);border-radius:.75rem;background:#fffaf8;padding:.7rem}.sameDayCheckoutHeader,.sameDayCheckoutItem{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sameDayCheckoutHeader strong{color:#2d2528;font-size:.9rem}.sameDayCheckoutHeader span{color:#8f1f57;font-size:.78rem;font-weight:900;text-align:right}.sameDayCheckoutLinkButton{border:1px solid rgba(143,31,87,.2);border-radius:999px;background:#fff;color:#8f1f57;cursor:pointer;flex:0 0 auto;font-size:.72rem;font-weight:900;padding:.35rem .6rem}.sameDayCheckoutLinkButton:disabled{cursor:not-allowed;opacity:.5}.sameDayCheckoutList{display:grid;gap:.45rem}.sameDayCheckoutItem{border-top:1px solid rgba(91,62,71,.09);padding-top:.45rem}.sameDayCheckoutItem span{display:grid;gap:.15rem;min-width:0}.sameDayCheckoutItem strong,.sameDayCheckoutItem small{overflow-wrap:anywhere}.sameDayCheckoutItem strong{color:#2d2528;font-size:.82rem}.sameDayCheckoutItem small{color:#7a6f73;font-size:.74rem;font-weight:800}.sameDayCheckoutItem em{color:#8f1f57;flex:0 0 auto;font-size:.78rem;font-style:normal;font-weight:950}.paymentSaleTotals .paymentBalanceDue{border-top:1px solid rgba(143,31,87,.12);color:#8f1f57;padding-top:.45rem}.paymentClosedNotice,.assetRedeemHint{border:1px solid rgba(143,31,87,.14);border-radius:.65rem;background:#fff7fb;color:#5b3e47;font-size:.82rem;font-weight:800;line-height:1.45;margin:0;padding:.65rem .75rem}.posCheckoutCard{grid-template-columns:minmax(24rem,1.35fr) minmax(18rem,.76fr);column-gap:1rem;row-gap:.85rem;align-items:start;padding:1rem}.posCheckoutCard>.posPaymentHeading,.posCheckoutCard>.sameDayCheckoutPanel,.posCheckoutCard>.posCalculatorCard,.posCheckoutCard>.splitPaymentPanel,.posCheckoutCard>.checkoutPaymentActions,.posCheckoutCard>.panelCopy,.posCheckoutCard>.posCheckoutNotes,.posCheckoutCard>.appointmentPaymentAssets,.posCheckoutCard>.otherPaymentCollapse{grid-column:1}.posCheckoutCard>.paymentSaleTotals,.posCheckoutCard>.paymentClosedNotice,.posCheckoutCard>.draftNotice,.posCheckoutCard>.paymentHistoryStrip,.posCheckoutCard>.posSummaryActions,.posCheckoutCard>p:not(.panelCopy){grid-column:2}.posPaymentHeading{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center}.posPaymentHeading p{margin-top:.2rem;color:#74696d;font-size:.82rem;font-weight:850}.posPaymentIcon{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;background:#b0165b;color:#fff}.posCalculatorCard{display:grid;grid-template-columns:minmax(11rem,.75fr) minmax(22rem,1.55fr);gap:.85rem;align-items:stretch}.posDiscountControl,.posCheckoutNotes{display:grid;gap:.35rem;color:#50474a;font-size:.78rem;font-weight:900}.posDiscountControl small,.posCheckoutNotes span,.posSummaryActions small{color:#74696d;font-size:.74rem;font-weight:800}.posCheckoutNotes{position:relative}.posCheckoutNotes span{position:absolute;top:0;right:0}.posTotalStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(91,62,71,.12);border-radius:.85rem;background:#fff;overflow:hidden}.posTotalStrip span{display:grid;gap:.35rem;align-content:center;min-height:4.8rem;border-right:1px solid rgba(91,62,71,.1);padding:.75rem .85rem}.posTotalStrip span:last-child{border-right:0}.posTotalStrip small{color:#50474a;font-size:.76rem;font-weight:900}.posTotalStrip strong{color:#231b20;font-size:1.1rem;font-weight:950}.posTotalStrip .posPositiveValue strong,.paymentTotalPaid strong,.paymentTotalPaid{color:#168047}.posGrandTotal{background:#fff1f7}.posGrandTotal strong,.paymentBalanceDue,.paymentBalanceDue strong{color:#a31658}.checkoutPaymentActions{grid-template-columns:1fr}.posTenderRow{grid-template-columns:minmax(11rem,1fr) minmax(8rem,.72fr) minmax(8rem,.72fr) auto;align-items:center;gap:.65rem;border:1px solid rgba(91,62,71,.1);border-radius:.8rem;background:#fff;padding:.65rem}.posTenderRow.selected{border-color:#8f1f574d;background:#fff7fb}.posTenderRow.compact{grid-template-columns:minmax(11rem,1fr) auto}.posTenderRow input{min-height:2.5rem;background:#fffaf8}.posTenderRow>button{min-width:5.5rem;white-space:nowrap}.posTenderLabel{display:inline-flex;align-items:center;gap:.5rem;min-width:0;color:#2d2528}.posTenderLabel svg{color:#8f1f57;flex:0 0 auto}.posTenderLabel strong{overflow-wrap:anywhere;font-size:.88rem;font-weight:950}.posSummaryActions{display:grid;gap:.45rem}.posSavePaymentButton{width:100%;min-height:3rem;box-shadow:0 12px 28px #8f1f572e}.paymentHistoryStrip{display:grid;gap:.35rem;border:1px solid rgba(91,62,71,.12);border-radius:.75rem;background:#fff;padding:.7rem}.paymentHistoryStrip strong{color:#2d2528;font-size:.82rem}.paymentHistoryStrip span{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#74696d;font-size:.8rem;font-weight:800}.paymentHistoryStrip span button{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-height:1.8rem;padding:.2rem .45rem;border:1px solid rgba(151,43,61,.22);border-radius:.45rem;background:#fff7f7;color:#972b3d;font-size:.72rem;font-weight:900;cursor:pointer}.assetRedeemSummary{display:flex;align-items:center;justify-content:space-between;gap:.65rem;border-radius:.6rem;background:#f7f1ef;color:#2d2528;padding:.6rem .7rem}.assetRedeemSummary strong,.assetRedeemSummary span{font-size:.8rem;font-weight:900}.assetRedeemSummary span{color:#8f1f57;text-align:right}.productSearchResults button,.clientLinkResults button{display:grid;gap:.2rem;justify-content:stretch;text-align:left}.productSearchResults button.selected{border-color:#8f1f5773;background:#fbebf2}.productSearchResults small,.clientLinkResults small{color:#74696d;font-weight:750}.productSearchHint{margin:-.1rem 0 0;background:#fffaf8;border:1px dashed rgba(91,62,71,.16);border-radius:.75rem;padding:.7rem}.productSelectionSummary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;border:1px solid rgba(143,31,87,.22);border-radius:.75rem;background:#fbebf2;color:#2d2528;padding:.65rem .75rem;font-size:.82rem;font-weight:850}.productSelectionSummary span{color:#8f1f57;white-space:nowrap}.appointmentLinkBox{display:grid;gap:.55rem}.quantityRow,.checkRow{display:flex;align-items:center;gap:.65rem;color:#50474a;font-weight:850}.quantityRow input{max-width:5rem}.checkRow input{width:auto}.drawerCheckRow{justify-content:flex-start;font-size:.86rem}.photoGrid{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.photoGrid figure{margin:0;overflow:hidden;border:1px solid rgba(91,62,71,.1);border-radius:.75rem;background:#fff}.photoGrid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photoGrid figcaption{padding:.55rem;color:#74696d;font-size:.75rem;font-weight:800}.clientDrawer{width:min(980px,100%);padding:clamp(.75rem,2vw,1.25rem)}.clientDrawer .drawerHeader{gap:.65rem;margin-bottom:.65rem}.clientDrawer .drawerHeader h2{font-size:clamp(1.45rem,2.4vw,2rem)}.clientDrawer .drawerHeader span{margin-top:.25rem;font-size:.84rem}.clientFileGrid{grid-template-columns:minmax(14rem,.75fr) minmax(15rem,1fr) minmax(15rem,1fr);gap:.6rem;grid-auto-flow:dense}.clientFileGrid>.drawerCard{min-width:0}.clientFileGrid>.drawerCard:first-child{grid-row:span 2}.clientDrawer .drawerCard{gap:.5rem;border-radius:.72rem;padding:.7rem}.clientDrawer .drawerCard h3{font-size:.92rem}.clientDrawer .drawerCard p,.clientDrawer .panelCopy,.clientDrawer .productSearchHint{font-size:.78rem;line-height:1.28}.clientDrawer .drawerCard input,.clientDrawer .drawerCard textarea,.clientDrawer .drawerCard select{min-height:2.35rem;border-radius:.62rem;padding:.55rem .68rem;font-size:.88rem}.clientDrawer .drawerCard textarea{min-height:4.5rem}.clientDrawer .drawerCard button,.clientDrawer .drawerFileButton{min-height:2.35rem;padding:.5rem .65rem;font-size:.86rem}.clientDrawer .twoColumnFields,.clientDrawer .drawerActionGrid,.clientDrawer .manualPaymentGrid,.clientDrawer .lineItemList,.clientDrawer .miniHistory,.clientDrawer .productSearchResults,.clientDrawer .clientLinkResults,.clientDrawer .photoGrid,.clientDrawer .clientFutureList,.clientDrawer .clientMergeList{gap:.45rem}.clientDrawer .checkRow{gap:.45rem;min-height:2rem;font-size:.84rem}.clientBookingBanPanel{display:grid;gap:.45rem;border:1px solid rgba(91,62,71,.12);border-radius:.68rem;background:#fffaf8;padding:.55rem}.clientBookingBanPanel.active{border-color:#8f1f573d;background:#fff4f8}.clientBookingBanPanel textarea:disabled{opacity:.55}.clientDrawer .clientMergePanel{gap:.5rem;margin-top:.1rem;border-radius:.7rem;padding:.65rem}.clientDrawer .clientMergeHeader{gap:.45rem}.clientDrawer .clientMergeHeader h4{margin-bottom:.15rem;font-size:.88rem}.clientDrawer .clientMergeHeader p{font-size:.78rem;line-height:1.28}.clientDrawer .clientMergeHeader span{padding:.24rem .48rem;font-size:.72rem}.clientDrawer .clientFutureItem,.clientDrawer .clientMergeOption,.clientDrawer .miniHistory span,.clientDrawer .miniHistory em,.clientDrawer .productSearchHint,.clientDrawer .productSelectionSummary{border-radius:.62rem;padding:.52rem}.clientDrawer .clientFutureItem{gap:.5rem}.clientDrawer .clientFutureIconRow{gap:.22rem}.clientDrawer .clientFutureItem strong,.clientDrawer .clientFutureItem span,.clientDrawer .clientFutureItem small,.clientDrawer .clientFutureItem em,.clientDrawer .clientMergeOption strong,.clientDrawer .clientMergeOption small,.clientDrawer .clientMergeOption em,.clientDrawer .miniHistory span,.clientDrawer .miniHistory em{line-height:1.25}.clientDrawer .serviceSearchBox{min-height:2.45rem;border-radius:.62rem;padding:.45rem .65rem}.clientDrawer .photoGrid{grid-template-columns:repeat(auto-fit,minmax(6.8rem,1fr))}.clientDrawer .photoGrid figure{border-radius:.62rem}.clientDrawer .photoGrid figcaption{padding:.42rem;font-size:.7rem}@keyframes spin{to{transform:rotate(360deg)}}@media print{@page{size:A4 portrait;margin:8mm}body *{visibility:hidden}.eodOnePagePrint,.eodOnePagePrint *{visibility:visible}.eodOnePagePrint{display:grid;gap:.18rem;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;background:#fff;color:#111;box-shadow:none;font-size:8.5pt;line-height:1.18}.eodPrintHeader{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #111;padding-bottom:.18rem}.eodPrintHeader p,.eodPrintHeader h1,.eodPrintFooter p{margin:0}.eodPrintHeader h1{font-size:17pt;line-height:1}.eodPrintHeader span{font-size:11pt;font-weight:800}.eodPrintMetaGrid,.eodPrintTotals,.eodPrintCashSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.16rem}.eodPrintMetaGrid span,.eodPrintTotals span,.eodPrintCashSummary span,.eodPrintCashCount span{border:1px solid #bbb;background:#fff!important;padding:.14rem .18rem;break-inside:avoid}.eodPrintMetaGrid small,.eodPrintTotals small,.eodPrintCashSummary small,.eodPrintCashCount small,.eodPrintFooter small{display:block;color:#333;font-size:6.4pt;font-weight:900;letter-spacing:0;text-transform:uppercase}.eodPrintMetaGrid strong,.eodPrintTotals strong,.eodPrintCashSummary strong,.eodPrintCashCount strong{display:block;color:#111;font-size:9pt;line-height:1.1;overflow-wrap:anywhere}.eodPrintTotals strong{font-size:12pt}.eodPrintTotals .warning strong,.eodPrintTableRow.warning span:last-child{color:#8f1f57}.eodPrintAlert{border:1px solid #8f1f57;color:#8f1f57;font-weight:900;padding:.16rem .2rem}.eodPrintTable{display:grid;border:1px solid #bbb}.eodPrintTableHeader,.eodPrintTableRow{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.7fr));gap:.12rem;padding:.12rem .18rem}.eodPrintTableHeader{background:#f4f4f4!important;color:#111;font-size:6.8pt;font-weight:900;text-transform:uppercase}.eodPrintTableRow{border-top:1px solid #ddd}.eodPrintTableRow span:not(:first-child){text-align:right}.eodPrintCashCount{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.12rem}.eodPrintCashCount em{display:block;color:#333;font-size:7.2pt;font-style:normal;font-weight:800}.eodPrintFooter{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,.45fr);gap:.18rem;margin-top:.08rem}.eodPrintFooter>div{min-height:2.1rem;border:1px solid #bbb;padding:.16rem .2rem}.staffNav,.calendarChoiceActions,.tillHeaderTools,.tillSeparationNotice,.eodOpenInvoiceAlert,.walkInSalePanel,.tillMetricGrid,.tillWorkGrid,.eodEditsPanel,.tillTransactions,.iconButton,.panelHeader,.message:not(.eodPrintAlert){display:none!important}.eodOnePagePrint,.eodPrintTable,.eodPrintCashCount,.eodPrintFooter{break-inside:avoid}}@media(max-width:1100px){.bookingGrid{grid-template-columns:repeat(2,minmax(18rem,1fr))}}@media(max-width:980px){.hero,.bookingGrid,.voucherGrid,.clientPortalGrid,.staffWebGrid,.eodSummaryStrip,.serviceManagerLayout,.staffManagerLayout,.productManagerLayout,.voucherManagerLayout,.tillWorkGrid,.tillHeaderTools,.onlineBookingMetrics,.onlineBookingFilters,.onlineBookingRow,.supplierOrderTop,.supplierOrderTotals,.orderTotalCard{grid-template-columns:1fr}.staffCalendarPanel{grid-column:auto}.voucherDuplicatePanel,.voucherDuplicateRows button{grid-template-columns:1fr}.voucherDuplicatePanel .secondaryLink{width:100%;justify-content:center}.drawerGrid,.clientFileGrid,.posCheckoutCard,.posCalculatorCard{grid-template-columns:1fr}.posCheckoutCard>.paymentSaleTotals,.posCheckoutCard>.paymentClosedNotice,.posCheckoutCard>.draftNotice,.posCheckoutCard>.paymentHistoryStrip,.posCheckoutCard>.posSummaryActions,.posCheckoutCard>p:not(.panelCopy){grid-column:1}.appointmentPriceEditor{grid-template-columns:1fr}.messagingThreadHeader,.messagingComposerActions{align-items:stretch;flex-direction:column}.drawerActionGrid,.blockOutFields,.calendarChoiceActions,.calendarBlockOutTimes,.rosterDayRow,.rosterMonthToolbar,.rosterMonthRow,.rosterActionRow,.rosterModalTimes,.tillTransactionEdit,.tillPaymentRecordRow,.eodEditRow,.tillReconciliationHeader,.tillReconciliationRow,.staffSecurityUnlock,.staffPermissionGrid,.supplierOrderProductRow,.walkInSaleLineItem,.categoryServiceRow,.managerFilterTop,.voucherManagerList .serviceManagerTop{grid-template-columns:1fr}.preferredDayGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tillReconciliationHeader{display:none}.tillReconciliationRow em{text-align:left}.calendarDatePicker{width:100%;justify-content:space-between}.staffTimeline{grid-template-columns:3.4rem minmax(34rem,1fr)}.heroPanel{max-width:40rem}}@media(max-width:640px){.portalMembershipMetricGrid{grid-template-columns:1fr}.portalMembershipTop,.portalCreditRow,.portalMembershipActions{flex-direction:column;align-items:stretch}.portalMembershipStatus,.portalCreditRow em{width:fit-content}.splitPaymentPanel,.posTotalStrip,.posTenderRow,.posTenderRow.compact{grid-template-columns:1fr}.posTotalStrip span{min-height:0;border-right:0;border-bottom:1px solid rgba(91,62,71,.1)}.posTotalStrip span:last-child{border-bottom:0}.hero{padding-top:2.25rem;border-radius:0;max-width:100%;margin-top:0;min-height:37rem;background-image:linear-gradient(0deg,#fffaf8eb,#fffaf8a3 58%,#fffaf82e),var(--hero-image)}.heroContent h1{font-size:clamp(2.8rem,15vw,4.7rem)}.heroActions{align-items:stretch;flex-direction:column}.primaryLink,.secondaryLink{justify-content:center}.bookingShell{padding-bottom:1.5rem}.panel{border-radius:1rem;padding:.9rem}.portalAppointmentCard{grid-template-columns:auto 1fr}.portalMembershipMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.portalMembershipTop,.portalCreditRow{align-items:flex-start}.portalAppointmentActions{grid-column:1 / -1;justify-items:start}.portalBadges{justify-content:flex-start}.slots{grid-template-columns:1fr 1fr}.staffWebHeader{align-items:flex-start;flex-direction:column}.staffWebHeaderActions{justify-content:flex-start}.staffSectionTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.staffWebIntro{align-items:flex-start;flex-direction:column}.twoColumnFields,.staffSlotGrid{grid-template-columns:1fr}.selectedServiceList span{grid-template-columns:1fr auto}.selectedServiceList strong{grid-column:1 / -1}}.membershipClientPickerHeader{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.membershipClientPickerHeader span{display:grid;gap:.12rem;min-width:0}.membershipClientPickerHeader small{color:#74696d;font-weight:800}.membershipClientPickerHeader .secondaryLink{min-height:2.35rem;padding:.45rem .65rem}.membershipClientSelect{min-height:2.75rem}
