@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600&display=swap";:root{font-family:Inter,Arial,sans-serif;color:#18342f;background:#f8f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f8f5ef}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#174c45}h1,h2,h3,p{margin-top:0}h1{font:600 clamp(2rem,5vw,3.25rem)/1.02 Newsreader,Georgia,serif;letter-spacing:-.035em}h2{font-size:1rem;margin-bottom:.45rem}p{line-height:1.55;color:#5c6b66}.app-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{background:#174c45;color:#fff;padding:26px 16px;display:flex;flex-direction:column;gap:34px;position:sticky;height:100vh;top:0}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#e8755f;color:#fff;font:600 26px/1 Newsreader,Georgia,serif}.nav{border:0;color:#d9e8df;background:transparent;width:100%;text-align:left;border-radius:10px;padding:12px 14px;font-weight:600}.nav:hover,.nav.active{background:#ffffff21;color:#fff}.logout{margin-top:auto;color:#d9e8df;font-size:.9rem;padding:10px 14px}.workspace{padding:0 4vw 60px;min-width:0}.mobile-top{display:none}.test-strip{color:#6c4718;background:#fff0cf;border:1px solid #efd292;padding:10px 14px;border-radius:0 0 10px 10px;font-size:.82rem}.page{max-width:1220px;margin:0 auto;padding-top:48px}.page.narrow{max-width:860px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading h1{margin-bottom:8px}.eyebrow{color:#c65f4d;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.lead{font-size:1.08rem;max-width:680px}.primary,.secondary,.button-link{border:0;border-radius:11px;padding:12px 16px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}.primary{color:#fff;background:#174c45;box-shadow:0 2px #0000001f}.primary:hover{background:#0d3933}.secondary{color:#174c45;background:#e6efea}.secondary:hover{background:#d6e6dc}.text-button{padding:7px;border:0;background:transparent;color:#174c45;font-weight:700;font-size:.84rem}.text-button.danger,.danger{color:#b84135}.danger-fill{background:#b84135}.small{min-height:34px;padding:7px 10px;font-size:.82rem}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.metric,.panel,.slot-card,.success-card{background:#fff;border:1px solid #e3e8e3;border-radius:16px;box-shadow:0 8px 24px #2438300a}.metric{padding:18px;display:flex;flex-direction:column;min-height:126px}.metric span,.metric small{color:#71807a;font-size:.78rem}.metric strong{font-size:1.5rem;letter-spacing:-.04em;margin:13px 0 5px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.panel{padding:22px;margin-bottom:20px}.panel-title,.slot-head,.customer-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.panel-title p{font-size:.88rem;margin-bottom:0}.subtle,.muted{color:#71807a;font-size:.82rem}.timeline,.task-list,.notification-list,.stack,.customer-list{display:flex;flex-direction:column}.timeline-item,.task,.notification,.line-item,.treatment-row,.customer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #edf0ed}.timeline-item:first-child,.task:first-child,.notification:first-child,.line-item:first-child,.treatment-row:first-child,.customer:first-child{border-top:0}.timeline-item p,.task p,.notification p,.treatment-row p,.customer p{font-size:.84rem;margin:4px 0 0}.pill{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.73rem;font-weight:700;background:#edf0ed;color:#61716b}.pill.open,.pill.published{background:#d9f0e3;color:#15643e}.pill.closed{background:#f5e1dc;color:#964036}.empty{padding:20px 0 6px;text-align:center}.empty p{font-size:.88rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid h2,.form-grid .error,.form-grid .success,.form-grid>button,.staff-checks{grid-column:1 / -1}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.84rem}.field span{color:#33544c}.field input,.field select,textarea,.inline-form input,.customer-toolbar input{appearance:none;width:100%;border:1px solid #cfdad3;border-radius:9px;padding:11px 12px;color:#18342f;background:#fff;outline-color:#e8755f;min-height:44px}.field small{font-weight:400;color:#71807a;line-height:1.35}.inline-form{margin-top:18px;display:flex;gap:10px}.staff-checks,.check-group{border:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.staff-checks legend,.check-group legend{font-size:.84rem;font-weight:600;margin-bottom:8px}.staff-checks label,.check-group label,.check,.priority-toggle{font-size:.88rem;display:inline-flex;align-items:center;gap:7px}.staff-override{grid-column:1 / -1;border:1px solid #dbe6df;border-radius:10px;padding:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.staff-override legend{font-size:.82rem;font-weight:700;padding:0 4px}.staff-override label{display:grid;gap:5px;color:#52645d;font-size:.76rem}.staff-override input{border:1px solid #cfdad3;border-radius:7px;padding:8px;min-width:0}.editor{margin-top:18px;border-top:1px solid #edf0ed;padding-top:15px}.editor summary{cursor:pointer;font-weight:700;margin-bottom:16px}.error{border-left:3px solid #b84135;background:#fcf0ed;color:#8e2e25;padding:11px;font-size:.88rem;grid-column:1 / -1}.success{color:#15643e;background:#e9f7ee;padding:11px;border-radius:8px;font-size:.88rem}.success.big{font-size:1rem}.slot-card{padding:22px;margin-bottom:18px}.slot-index{color:#c65f4d;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.slot-head{margin-bottom:20px}.date-quick{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #cfdad3;border-radius:999px;background:#fff;color:#174c45;padding:7px 9px;font-size:.75rem;font-weight:700}.chip.active{background:#174c45;color:#fff}.date-quick input{width:140px;min-height:31px;padding:4px 8px;font-size:.75rem}.treatment-picker{background:#f8f5ef;border-radius:11px;padding:16px;margin-top:18px}.treatment-choice{display:grid;grid-template-columns:18px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-top:1px solid #e5e9e5;cursor:pointer}.treatment-choice small{display:block;color:#71807a;margin-top:4px;font-size:.78rem}.price{text-align:right;font-size:.84rem;font-weight:700}.price s{display:block;color:#929f9a;font-weight:400;font-size:.75rem}.ack{border:1px solid #d3e4d9;border-radius:11px;padding:13px;display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;margin:18px 0;font-size:.87rem;background:#fbfffb}.ack small{grid-column:2;color:#65756e;line-height:1.4}.block-confirm{margin-bottom:0}.add-time{background:transparent;color:#174c45;border:1px dashed #88a197;border-radius:12px;padding:13px;width:100%;font-weight:700}.sticky-actions{position:sticky;bottom:12px;background:#174c45;color:#fff;padding:13px 14px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 30px #0a2d2640}.sticky-actions .primary{background:#e8755f}.success-card{border-color:#bce2c9;background:#f7fff9;padding:20px;margin-bottom:20px}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.customer-grid{grid-template-columns:1.5fr .7fr}.qr-panel{text-align:center}.qr-panel img{width:155px;height:155px;display:block;margin:10px auto 14px}.csv-preview{overflow-x:auto;margin-top:17px}.mapping-row{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:14px}table{border-collapse:collapse;width:100%;font-size:.8rem}th,td{text-align:left;padding:8px;border-bottom:1px solid #e5e9e5;white-space:nowrap}th{color:#71807a}.customer-toolbar{align-items:center;margin-bottom:12px}.customer-toolbar input{max-width:360px}.customer{display:grid;grid-template-columns:22px 1fr auto auto auto}.count{background:#e6efea;color:#174c45;padding:8px 10px;border-radius:999px;font-size:.82rem;font-weight:700}.campaign-step,.campaign-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #edf0ed}.campaign-step:first-of-type,.campaign-row:first-child{border-top:0}.campaign-step p,.campaign-row p{margin:4px 0;font-size:.84rem}.campaign-row small{color:#71807a;font-size:.76rem}.campaign-row>div:last-child{display:grid;justify-items:end;gap:8px}.campaign-cost{font-size:.88rem}.sms-copy{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8f5ef;padding:12px;border-radius:8px;color:#3a514a;font:.78rem/1.5 Inter,Arial,sans-serif}.campaign-preview details{margin-top:14px;font-size:.85rem}.campaign-preview summary{cursor:pointer;font-weight:700;color:#174c45}.public-shell{width:min(760px,100%);min-height:100vh;padding:44px 24px 70px;margin:0 auto;background:#f8f5ef}.public-shell.center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100vh}.public-shell.center p{max-width:470px}.public-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px}.address{font-size:.88rem;margin-top:-6px}.public-slot{background:#fff;border:1px solid #e3e8e3;border-radius:15px;padding:19px;margin:14px 0}.public-slot header{display:flex;justify-content:space-between}.public-slot h2{font:600 1.35rem Newsreader,Georgia,serif;margin:0}.public-treatments{margin-top:14px;border-top:1px solid #edf0ed}.booking-option{border:0;border-bottom:1px solid #edf0ed;background:transparent;display:flex;width:100%;justify-content:space-between;align-items:center;padding:14px 0;text-align:left;color:#18342f;gap:16px}.booking-option:last-child{border-bottom:0}.booking-option.selected{color:#174c45;background:#f0f7f2;margin:0 -8px;width:calc(100% + 16px);padding:14px 8px;border-radius:8px}.booking-option small{display:block;color:#71807a;font-size:.78rem;margin-top:5px}.booking-option b,.booking-option s{display:block;text-align:right}.booking-option s{color:#87948e;font-size:.77rem;font-weight:400}.booking-form,.form-card{background:#fff;border:1px solid #e3e8e3;padding:22px;border-radius:16px;margin-top:26px;display:grid;gap:16px}.booking-form .field{width:100%}.booking-summary{background:#e6efea;padding:14px;border-radius:10px}.booking-summary span{font-size:.75rem;color:#63726c;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.booking-summary strong{display:block;margin-top:5px}.booking-summary p{margin:4px 0 0;font-size:.88rem}.public-footer{display:flex;gap:15px;font-size:.78rem;margin-top:30px}.confirmation{text-align:center;max-width:600px}.confirmation-mark{width:58px;height:58px;background:#d9f0e3;color:#15643e;border-radius:50%;display:grid;place-items:center;font-size:2rem;margin:30px auto 18px}.receipt{background:#fff;border:1px solid #e3e8e3;border-radius:15px;text-align:left;margin:24px 0}.receipt div{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;border-bottom:1px solid #edf0ed;padding:15px}.receipt div:last-child{border:0}.receipt span{color:#71807a;font-size:.78rem}.setup{max-width:660px}.setup .brand{margin-bottom:32px}.notice{background:#fff0cf;color:#6c4718;border-radius:10px;padding:13px;margin-bottom:22px;font-size:.87rem}.legal{max-width:700px}.legal h2{margin-top:30px;font:600 1.4rem Newsreader,Georgia,serif}.fine-print{font-size:.76rem}.spinner{width:30px;height:30px;border:3px solid #d4dfd9;border-top-color:#174c45;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.full-width{grid-column:1 / -1}.policy-card{margin:16px 0;padding:14px;border-radius:11px;background:#f4f8f4;border:1px solid #d5e3d8;text-align:left}.policy-card p{margin:6px 0;font-size:.88rem}.policy-card small{color:#61716b;font-size:.76rem}.confirmation-actions{justify-content:center}.release-wizard{max-width:880px}.release-steps{display:flex;list-style:none;padding:0;margin:0 0 26px;overflow-x:auto;gap:4px}.release-steps li{min-width:112px;flex:1;display:grid;grid-template-columns:28px auto;gap:7px;align-items:center;color:#71807a;font-size:.76rem;font-weight:700}.release-steps li span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#dfe8e2;color:#5e7068}.release-steps li.active{color:#174c45}.release-steps li.active span{background:#174c45;color:#fff}.release-steps li.done span{background:#d9f0e3;color:#15643e}.wizard-panel{max-width:740px;margin-left:auto;margin-right:auto}.choice-stack{display:grid;gap:10px;margin:18px 0}.choice-card,.chosen-card{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #cfdad3;background:#fff;border-radius:12px;color:#18342f}.choice-card.selected{border:2px solid #174c45;background:#eef7f1}.choice-card span,.chosen-card span{color:#61716b;font-size:.8rem}.chosen-card{margin:18px 0;background:#eef7f1;border-color:#b9d7c2}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #edf0ed}.wizard-actions .primary{margin-left:auto}.wizard-time,.offer-config{padding:16px 0;border-top:1px solid #edf0ed}.wizard-time:first-of-type,.offer-config:first-of-type{border-top:0}.template-save{display:flex;gap:10px;align-items:end;border-top:1px solid #edf0ed;padding-top:16px;margin-top:14px}.template-save .field{flex:1}.summary-list{display:grid;gap:10px}.summary-list .ack{margin:0}.finance-list,.admin-salon-list,.statement-list,.audit-mini{display:grid}.finance-row,.admin-salon,.statement-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #edf0ed;padding:15px 0}.finance-row:first-child,.admin-salon:first-child,.statement-row:first-child{border-top:0}.finance-row p,.admin-salon p,.statement-row p{font-size:.84rem;margin:4px 0}.finance-row small,.admin-salon small,.statement-row small{display:block;color:#71807a;font-size:.76rem;margin-top:3px}.finance-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:5px}.admin-salon>div:last-child{display:grid;justify-items:end;text-align:right}.audit-mini{gap:0}.audit-mini p{padding:10px 0;margin:0;border-top:1px solid #edf0ed;font-size:.82rem}.audit-mini p:first-child{border-top:0}.sidebar-label{color:#b8d0c5;font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:-17px 14px 0;text-transform:uppercase}@media(max-width:840px){.app-shell{display:block}.sidebar{display:none}.workspace{padding:0 16px 95px}.mobile-top{height:58px;display:flex;align-items:center;justify-content:space-between}.mobile-top select{border:0;background:transparent;color:#174c45;font-weight:700}.brand-mini{font:600 29px/1 Newsreader,Georgia,serif;color:#e8755f}.page{padding-top:30px}.metric-row{grid-template-columns:repeat(2,1fr)}.section-grid,.customer-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.page-heading{display:block}.page-heading .primary,.page-heading .secondary{width:100%;margin-top:12px}.metric-row{gap:9px}.metric{padding:14px;min-height:108px}.metric strong{font-size:1.2rem}.panel,.slot-card{padding:16px}.form-grid,.form-grid.three,.staff-override{grid-template-columns:1fr}.treatment-choice{grid-template-columns:18px 1fr}.treatment-choice .price{grid-column:2;text-align:left}.customer{grid-template-columns:20px 1fr auto}.customer .pill,.customer .text-button{grid-column:2 / -1;justify-self:start}.customer-toolbar{align-items:stretch;flex-direction:column}.inline-form,.template-save,.wizard-actions{flex-direction:column;align-items:stretch}.wizard-actions .primary{margin-left:0}.sticky-actions{flex-direction:column;align-items:stretch;bottom:8px}.public-shell{padding:30px 16px 55px}.public-header{margin-bottom:40px}.mapping-row{grid-template-columns:1fr}.campaign-step,.campaign-row,.finance-row,.admin-salon,.statement-row{align-items:flex-start;flex-direction:column}.finance-actions,.admin-salon>div:last-child{justify-items:start;justify-content:flex-start;text-align:left}.release-steps li{min-width:72px;grid-template-columns:24px;justify-items:center;text-align:center}.release-steps li small{font-size:.64rem}}
