@import url('/fonts.css');
:root{--ink:#28372f;--muted:#7d847d;--paper:#fff7f2;--green:#233e33;--sage:#f8e4d8;--line:#ecd8cc;--peach:#f2cdb8;--coral:#bd7356;--white:#fffdfb;--radius:16px;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.8px}h1{font-size:38px;line-height:1.18;margin-bottom:10px}h2{font-size:28px}h3{font-size:15px;font-weight:600}.muted,small{color:var(--muted)}small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:16px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100vh}[hidden]{display:none!important}.sidebar{background:#fae8de;border-right:1px solid var(--line);padding:32px 18px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;letter-spacing:2px;font-size:18px;line-height:1.4;margin:0 10px 35px}.brand small{display:block;color:inherit;font:9px Segoe UI,sans-serif;letter-spacing:4px}.monogram{display:inline-grid;place-items:center;background:var(--green);color:#f4e7cc;border-radius:50% 50% 42% 42%;width:43px;height:50px;font-family:Georgia,serif;font-size:36px;letter-spacing:-4px;padding-right:5px}.nav-label{font-size:9px;letter-spacing:1.7px;color:#959a8e;margin:18px 15px 12px}nav button{width:100%;display:flex;gap:13px;align-items:center;padding:12px 14px;text-align:left;font-size:12px;border-radius:8px;margin:2px 0}nav button span{font-size:20px;width:20px;color:#859080}nav button:hover{background:#e9ecdf}nav button.active{background:var(--green);color:white}nav button.active span{color:#dce4d1}.booking-link{margin-top:auto;border:1px solid #d4dbcb;padding:13px 12px;font-size:11px;border-radius:8px;display:flex;justify-content:space-between}.sidebar-foot{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:12px}.sidebar-foot small{display:block;margin-top:3px}.sidebar-foot button{margin-left:auto}.avatar{display:inline-grid;place-items:center;background:var(--peach);width:36px;height:36px;border-radius:50%;font-family:Georgia,serif;color:#985940}.avatar.small{width:29px;height:29px;font-size:12px}main{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);padding:0 36px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);background:#fffaf7}.topbar>div{display:flex;align-items:center;gap:22px}.open-pill{color:#60745b;font-size:10px}.content{padding:34px 36px;max-width:1700px;margin:auto;min-height:calc(100vh - 125px)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-head p{font-size:12px;color:var(--muted);margin:0}.page-head .eyebrow{color:#8b946f;margin-bottom:10px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary,.secondary{display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:12px 18px;border-radius:8px;font-size:12px;font-weight:500;min-height:42px}.primary{background:var(--green);color:white}.primary:hover{background:#365746}.secondary{background:var(--white);border:1px solid var(--line)}.secondary:hover{background:#eff2e7}.hero{display:flex;justify-content:space-between;align-items:center;background:#f7dfd3;border:1px solid #e8c9b8;border-radius:var(--radius);padding:24px 30px;margin-bottom:22px;position:relative;overflow:hidden}.hero h2{font-size:27px;margin:0 0 10px}.hero p{font-size:12px;line-height:1.8;margin:0;color:#697661}.hero-badge{font:italic 24px Georgia,serif;border:1px solid #b7c3a5;border-radius:90px 90px 10px 10px;padding:27px 24px;margin:0 20px;transform:rotate(7deg);text-align:center}.hero-badge span{display:block;font:9px Segoe UI,sans-serif;letter-spacing:2px;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0 24px}.stat{padding:21px;border:1px solid var(--line);border-radius:var(--radius);background:white}.stat p{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:17px}.stat strong{font-size:27px;font-weight:500;letter-spacing:-1px;display:block;margin-bottom:10px}.stat small{font-size:10px}.stat .mini-icon{color:var(--coral);font-size:18px}.grid-two{display:grid;grid-template-columns:1.65fr 1fr;gap:22px;margin-bottom:22px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.panel-head h3{margin:0}.panel-head a,.text-link{font-size:11px;color:#7c8b68;text-decoration:underline;text-underline-offset:4px}.chart{height:190px;display:flex;gap:5px;align-items:end;border-bottom:1px solid var(--line);padding:15px 0 0}.bar{flex:1;background:#a8b692;border-radius:4px 4px 0 0;min-width:2px;min-height:2px;position:relative}.bar:last-child{background:var(--green)}.bar-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #f0f1e9;font-size:12px}.row:last-child{border:0}.row .row-main{flex:1;min-width:0}.row strong{display:block;font-size:12px;font-weight:500;margin-bottom:5px}.row small{font-size:10px}.badge{display:inline-block;padding:5px 9px;border-radius:6px;background:#edf2e5;color:#607a47;font-size:10px;white-space:nowrap}.badge.warm{background:#faeade;color:#b6774e}.badge.gray{background:#eeefeb;color:#8a8d85}.badge.premium{background:var(--green);color:#ecebd6}.empty{text-align:center;padding:32px 12px;color:var(--muted);font-size:12px;line-height:1.8}.empty strong{display:block;color:var(--ink);font-weight:500;font-size:15px;margin-bottom:5px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.filters input,.filters select{width:auto;padding:9px 12px;font-size:12px}.filters .search{min-width:220px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.card-art{height:125px;background:#e7eadc;display:flex;align-items:center;justify-content:center;position:relative}.card-art.hair{background:#f0dfd2}.card-art.facial{background:#e6ebd7}.card-art.spa{background:#e1e8e6}.card-art .motif{font:italic 65px Georgia,serif;color:#809171;transform:rotate(-10deg)}.card-art.hair .motif{color:#b8896a}.card-art .badge{position:absolute;left:14px;top:14px}.card-body{padding:20px}.card-body .eyebrow{font-size:9px;letter-spacing:1.4px;color:#879278;margin-bottom:10px}.card-body h3{font:23px Georgia,serif;margin-bottom:9px}.card-body p{font-size:11px;color:var(--muted);line-height:1.7}.card-price{font-size:18px;margin:20px 0;display:flex;gap:8px;align-items:center}.card-price del{font-size:12px;color:#a0a49a}.card-foot{border-top:1px solid var(--line);padding-top:14px;display:flex;gap:15px;align-items:center;justify-content:space-between}.card-foot button{font-size:11px;color:#768666}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;background:#f3f5ed;padding:15px 20px;color:#8a9382;font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase}td{padding:17px 20px;border-top:1px solid #f0f1e9}td small{display:block;margin-top:5px;font-size:10px}td button,td a{font-size:11px;color:#6d7f5d;margin-right:10px}.subtle-note{font-size:11px;line-height:1.8;color:var(--muted);padding:13px 0}.balance{font-size:22px;font-weight:500}.tabs{display:flex;gap:8px;margin-bottom:22px}.tabs button{padding:9px 14px;border:1px solid var(--line);border-radius:7px;font-size:12px}.tabs .selected{background:var(--green);color:white}footer{display:flex;justify-content:space-between;gap:20px;padding:18px 36px;border-top:1px solid var(--line);font-size:8px;letter-spacing:1.5px;color:#98a08c}footer span{letter-spacing:.3px}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-art{background:#e4ead8;padding:70px 12%;position:relative;overflow:hidden}.login-art .brand{margin:0 0 85px}.login-art h1{font-size:64px;position:relative;z-index:1}.login-art p{line-height:1.8;color:#637557;font-size:13px;position:relative;z-index:1}.art-circle{position:absolute;width:420px;height:520px;border:1px solid #c1cbb2;border-radius:50% 50% 0 0;bottom:-190px;right:-60px;transform:rotate(-22deg)}.art-circle:after{content:'';position:absolute;inset:25px;border:1px solid #c1cbb2;border-radius:inherit}.login-form{max-width:420px;width:100%;margin:auto;padding:40px}.login-form h2{font-size:40px}.login-form .primary{width:100%;justify-content:space-between;margin:10px 0 24px}.login-form .muted{font-size:13px;margin-bottom:30px}label{display:block;font-size:11px;font-weight:500;margin-bottom:17px}input,select,textarea{width:100%;border:1px solid #dce1d5;border-radius:7px;background:#fff;padding:11px 12px;color:var(--ink);margin-top:7px;min-height:41px}input[type=checkbox]{width:16px;min-height:16px;margin:0 8px 0 0;accent-color:var(--green)}label.check{display:flex;align-items:center;font-weight:400;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full{grid-column:1/-1}.error{font-size:12px;color:#b14335;line-height:1.6}.warning{background:#fff3e7;border:1px solid #eddcc7;border-radius:9px;padding:14px 18px;font-size:12px;line-height:1.8;margin-bottom:20px;color:#936638}dialog{border:1px solid var(--line);border-radius:18px;padding:26px;width:620px;max-width:94vw;max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #1a322633}dialog::backdrop{background:#1b302755;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0}.modal-head button{font-size:28px;color:#999}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:12px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 20px}.service-choice{border:1px solid var(--line);border-radius:8px;padding:12px;font-size:11px;display:flex;align-items:center;margin:0}.service-choice:has(input:checked){background:var(--sage);border-color:#a3b291}.service-choice small{display:block;font-size:10px;margin-top:4px}.total-box{padding:16px;background:var(--sage);border-radius:9px;font-size:12px;margin:16px 0;line-height:1.8}#toast{position:fixed;right:25px;top:20px;z-index:999;background:var(--green);color:white;padding:14px 22px;border-radius:9px;box-shadow:0 8px 20px #0002;max-width:450px;font-size:12px;display:none}.public-body{background:#fff7f2}.public-header{display:flex;justify-content:space-between;align-items:center;padding:24px 7%;border-bottom:1px solid var(--line)}.public-header .brand{margin:0;font-size:16px}.public-header>span{font-size:11px;color:var(--muted)}.booking-container{max-width:1020px;margin:45px auto;padding:0 25px;display:grid;grid-template-columns:1fr 1.2fr;gap:55px}.booking-intro h1{font-size:52px;line-height:1.15;margin:20px 0}.booking-intro>p{font-size:13px;color:#7f8973;line-height:1.9}.booking-intro .hero-badge{display:inline-block;margin:40px 30px}.booking-form{background:white;border:1px solid var(--line);padding:30px;border-radius:18px}.booking-form h2{font-size:28px}.success-card{padding:30px;background:var(--sage);border-radius:14px;line-height:1.9}.invoice-page{max-width:780px;margin:40px auto;padding:40px;background:white;border:1px solid var(--line);border-radius:12px}.invoice-page .brand{margin:0}.invoice-heading{display:flex;justify-content:space-between;margin:40px 0}.invoice-totals{margin:30px 0 20px auto;max-width:300px}.invoice-totals p{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-bottom:1px solid var(--line)}.reward-note{margin:0 0 22px auto;max-width:300px;padding:13px 16px;background:var(--sage);border-radius:9px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.reward-note strong{color:#607a47}.reward-note span{color:var(--muted)}.line-entry{display:grid;grid-template-columns:1fr 70px 35px;gap:8px;align-items:center;margin-bottom:8px}.metric-list{display:flex;gap:30px;flex-wrap:wrap;margin:20px 0;font-size:12px}.metric-list strong{display:block;font-size:20px;margin-top:7px}.notice-message{white-space:normal;max-width:460px;line-height:1.7}.stock-low{color:#b46e42}.chart-zero{height:190px;display:grid;place-items:center;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
@media(min-width:1500px){.content{padding:40px 55px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:25px 10px}.content{padding:28px 22px}.topbar{padding:0 22px}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:22px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.hero-badge{margin:0}.brand{font-size:15px}}@media(max-width:720px){.shell{display:block}.sidebar{position:relative;height:auto;padding:18px}.sidebar .brand{margin:0 0 16px}.sidebar>p,.sidebar nav p,.sidebar-foot,.booking-link{display:none}.sidebar nav{display:flex;overflow:auto;gap:5px}.sidebar nav button{width:auto;white-space:nowrap;padding:9px 12px}.sidebar nav button span{display:none}.topbar{height:53px;padding:0 18px}.topbar .open-pill{display:none}.content{padding:25px 18px}.page-head{align-items:flex-start;flex-direction:column;gap:16px}h1{font-size:32px}.hero{padding:23px}.hero-badge{display:none}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:1fr}.stat strong{font-size:24px}.grid-two{gap:16px}.panel{padding:18px}footer{padding:16px 18px}footer span{display:none}.login-shell{display:block}.login-art{padding:32px}.login-art .brand{margin-bottom:30px}.login-art h1{font-size:38px}.login-art>p:not(.eyebrow){display:none}.login-form{padding:35px 25px}.form-grid{grid-template-columns:1fr}.service-options{grid-template-columns:1fr}.booking-container{grid-template-columns:1fr;gap:20px;margin-top:25px}.booking-intro h1{font-size:36px}.booking-intro .hero-badge{display:none}.public-header{padding:20px}.public-header>span{max-width:95px;line-height:1.6}.booking-form{padding:22px}.invoice-page{margin:15px;padding:22px}.invoice-heading{display:block}.invoice-heading>div{margin-top:25px}.actions{width:100%}.filters{align-items:stretch}.filters input{flex:1;min-width:0}.filters .search{min-width:150px}dialog{padding:20px}}@media print{.public-header,.no-print,#toast{display:none}.invoice-page{border:0;margin:0;padding:0;max-width:none}body{background:white}}
.spaced{margin-top:22px}
.appointment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.calendar-navigation,.calendar-view-switch{display:flex;align-items:center;gap:7px}.calendar-navigation strong{font:22px Georgia,serif;font-weight:400;margin-left:8px;min-width:245px}.calendar-arrow{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:white;font-size:24px;line-height:1}.calendar-view-switch{padding:3px;border:1px solid var(--line);border-radius:9px;background:white}.calendar-view-switch button{padding:8px 14px;border-radius:6px;font-size:11px}.calendar-view-switch button.selected{background:var(--green);color:white}.appointment-filters{margin-bottom:14px}.appointment-filters #appointment-count{margin-left:auto}.calendar-month,.calendar-scroll{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f3f5ed;border-bottom:1px solid var(--line)}.calendar-weekdays span{padding:12px 10px;color:#7e8977;font-size:9px;font-weight:700;letter-spacing:1.2px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr))}.month-day{min-height:126px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.month-day:nth-child(7n){border-right:0}.month-day:nth-last-child(-n+7){border-bottom:0}.month-day.outside{background:#fafbf7}.month-day.outside .day-number,.month-day.outside .calendar-event{opacity:.45}.month-day.today{background:#f5f8ee}.day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:11px;margin:0 0 4px auto}.month-day.today .day-number,.calendar-day-head.today strong{background:var(--green);color:white}.month-events{display:flex;flex-direction:column;gap:3px}.calendar-event{display:block;width:100%;min-width:0;border-left:3px solid #758d60;border-radius:4px;background:#e7efe0;color:#314a29;padding:5px 7px;text-align:left;overflow:hidden}.calendar-event:hover{filter:brightness(.97);box-shadow:0 1px 4px #253d2c22}.calendar-event strong,.calendar-event span,.calendar-event small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-event strong{font-size:10px;font-weight:600}.calendar-event span{font-size:9px;margin-top:3px}.calendar-event small{font-size:8px;margin-top:3px;color:inherit;opacity:.75}.calendar-event.completed{background:#e5eaf0;border-color:#70849b;color:#3d5167}.calendar-event.cancelled{background:#f1f1ee;border-color:#aaa;color:#888;text-decoration:line-through;opacity:.75}.calendar-event.compact{padding:4px 5px}.calendar-event.compact span{display:none}.more-events{font-size:9px;color:#657b55;text-align:left;padding:2px 5px}.calendar-scroll{overflow-x:auto;overflow-y:hidden}.calendar-schedule{display:grid;grid-template-columns:62px minmax(135px,1fr);grid-template-rows:64px 660px}.calendar-corner{display:flex;align-items:end;justify-content:center;padding:10px;color:var(--muted);font-size:9px;background:#f3f5ed;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-day-head{display:flex;align-items:center;justify-content:center;gap:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f3f5ed}.calendar-day-head span{font-size:9px;letter-spacing:1px;color:var(--muted)}.calendar-day-head strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:15px;font-weight:500}.time-labels{position:relative;border-right:1px solid var(--line)}.time-labels span{position:absolute;right:10px;transform:translateY(-50%);font-size:9px;color:var(--muted)}.calendar-day-column{position:relative;border-right:1px solid var(--line);background:#fff}.calendar-day-column:last-child{border-right:0}.calendar-day-column.today{background:#fafcf5}.calendar-day-column>i{position:absolute;left:0;right:0;border-top:1px solid #eef0e8}.timed-event{position:absolute;left:4px;right:4px;z-index:2;min-height:28px}.timed-event .calendar-event{height:100%;padding:6px 8px}.timed-event .calendar-event strong{font-size:10px}.timed-event .calendar-event span{font-size:9px}.timed-event .calendar-event small{font-size:8px}
@media(max-width:900px){.appointment-toolbar{align-items:flex-start;flex-direction:column}.calendar-navigation{width:100%;flex-wrap:wrap}.calendar-navigation strong{min-width:0;flex:1}.calendar-view-switch{width:100%}.calendar-view-switch button{flex:1}.month-grid{grid-template-columns:repeat(7,minmax(95px,1fr))}}
.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:4px 0 24px}.insight-grid>div,.insight-grid>button{background:#f4f6ee;border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}.insight-grid small,.insight-grid span{display:block;font-size:9px;line-height:1.5}.insight-grid strong{display:block;font-size:22px;font-weight:500;margin:7px 0 2px}.section-label{margin:0;padding-bottom:8px;border-bottom:1px solid var(--line)}.service-insight .badge{white-space:normal;text-align:center}.bestseller-panel .panel-head>div small{display:block;margin-top:5px}@media(max-width:720px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-insight{align-items:flex-start;flex-wrap:wrap}.service-insight .badge{margin-left:50px}}
.group-booking-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px}.group-booking-head strong,.group-booking-head small{display:block}.group-booking-head small{margin-top:5px}.participant-entry{border:1px solid var(--line);border-radius:12px;background:#fafbf7;padding:18px;margin-bottom:14px}.participant-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.participant-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.participant-head .avatar{grid-row:1/3}.participant-head small{display:block;margin-top:3px}.participant-head button{font-size:11px;color:#a05242}.compact-services{margin-top:5px}.group-details{margin-top:9px;min-width:210px}.group-details summary{cursor:pointer;color:#687b59;font-size:10px}.group-person{border-top:1px solid var(--line);padding:8px 0;white-space:normal}.group-person strong,.group-person span,.group-person small{display:block;margin:0 0 3px;font-size:10px}.group-person span{color:var(--muted)}@media(max-width:720px){.group-booking-head{align-items:flex-start;flex-direction:column}.group-booking-head .secondary{width:100%}.participant-entry{padding:14px}.compact-services{grid-template-columns:1fr}}
.appointment-type-switch{display:grid;grid-template-columns:1fr 1fr;background:#f3f5ed;border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:20px}.appointment-type-switch button{border:0;width:100%;padding:11px}.appointment-customer-hint{font-size:11px;line-height:1.6;color:#647464;background:#f3f5ed;border-radius:8px;padding:10px 12px;margin:-6px 0 18px}.appointment-type-switch+ .form-grid input[readonly]{background:#f1f3ed;color:#5f6d62;cursor:not-allowed}@media(max-width:520px){.appointment-type-switch{grid-template-columns:1fr}.appointment-type-switch+ .form-grid{grid-template-columns:1fr}}
.group-add-attendee{display:flex;justify-content:flex-end;margin:-2px 0 18px}.group-add-attendee .secondary{min-width:170px}@media(max-width:520px){.group-add-attendee .secondary{width:100%}}
@media(max-width:720px){.calendar-navigation strong{font-size:18px}.calendar-view-switch button{padding:8px 6px}.calendar-month{overflow:auto}.calendar-weekdays,.month-grid{min-width:700px}.appointment-filters #appointment-count{width:100%;margin-left:0}.calendar-schedule{grid-template-columns:52px repeat(var(--calendar-days),minmax(150px,1fr));min-width:calc(52px + var(--calendar-days) * 150px)}}

.booking-form input[readonly]{background:#f1f3ed;color:#5f6d62;cursor:not-allowed}.success-card .primary{margin-top:8px}.success-card .subtle-note{margin:14px 0 0}
.pending-warning,.pending-booking-note{color:#b42318!important;font-weight:700}


.corner-flourish{position:relative;overflow:hidden}.corner-flourish::before,.corner-flourish::after{content:'';position:absolute;border:1px solid #bd735633;border-radius:50%;pointer-events:none}.corner-flourish::before{width:150px;height:150px;right:-62px;top:-80px}.corner-flourish::after{width:95px;height:95px;right:-35px;top:-49px}.corner-flourish>*{position:relative;z-index:1}.insight-grid>button{text-align:left;color:var(--ink)}.insight-grid>button:hover{background:#f8e4d8;border-color:#d9b5a1;transform:translateY(-1px)}.view-more{display:inline-flex;margin-top:14px;padding:8px 0}.report-page{background:#fffdfb;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.report-period{border-top:1px solid var(--line);padding-top:18px}.report-summary{display:flex;align-items:baseline;gap:10px;background:#f8e4d8;border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:18px}.report-summary strong{font:32px Georgia,serif}.report-summary span{color:var(--muted);font-size:12px}@media(max-width:720px){.report-page{padding:18px}.report-period{align-items:flex-start;flex-direction:column}.report-period .secondary{width:100%}}

.service-category-list{display:grid;gap:10px;margin:10px 0 20px}.service-category{border:1px solid var(--line);border-radius:11px;background:#fffdfb;overflow:hidden}.service-category summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;cursor:pointer;list-style:none;background:#fff4ed}.service-category summary::-webkit-details-marker{display:none}.service-category summary::after{content:'⌄';font-size:17px;color:var(--muted);margin-left:3px}.service-category[open] summary::after{transform:rotate(180deg)}.service-category summary strong{font-size:12px;flex:1}.service-category-count{background:var(--peach);color:#8b513c;border-radius:999px;padding:4px 9px;font-size:10px;white-space:nowrap}.service-category .service-options{margin:0;padding:12px;border-top:1px solid var(--line)}.service-category .service-choice{background:#fff}.service-category .service-choice:has(input:checked){background:var(--sage)}
.payment-qr{margin-top:18px;padding:20px;text-align:center;background:#fff7f2;border:1px solid #ead8cd;border-radius:20px}.payment-qr img{display:block;width:min(300px,100%);height:auto;margin:14px auto;background:#fff;padding:10px;border-radius:14px}.payment-qr h3,.payment-qr p{margin:8px 0}
.walkin-phone-field label{margin-bottom:0}.walkin-phone-field .appointment-customer-hint{margin:7px 0 17px}.checkout-summary{padding:18px 20px}.checkout-amount-row{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:15px}.checkout-amount-row strong{font-size:22px;white-space:nowrap}.checkout-amount-row.final{border-top:1px solid #dfb4c5;margin-top:12px;padding-top:13px;font-weight:700}.checkout-amount-row.final strong{font-size:27px;color:#8e3159}.checkout-adjustments{font-size:11px;line-height:1.7;margin-top:6px;color:var(--muted)}.checkout-summary>small{display:block;margin-top:7px}.upi-preview-error{margin:9px 0 0;min-height:0}.upi-preview-error:empty{display:none}

/* Blossom theme · shared by the owner studio, customer booking and invoices. */
:root{--ink:#563344;--muted:#806a75;--paper:#fff2f7;--green:#8b3f60;--sage:#fde1eb;--line:#ecc9d7;--peach:#f5bfd1;--coral:#c35e82;--white:#fffafd;--radius:22px;font-weight:500}
html{background:#fff2f7}
body{min-height:100vh;background:radial-gradient(circle at 12% 8%,#ffd7e6 0,transparent 24rem),radial-gradient(circle at 90% 92%,#f9cedd 0,transparent 28rem),linear-gradient(145deg,#fff9fb 0%,#fff0f6 48%,#fde1eb 100%);color:var(--ink);font-weight:500}
body::before{content:"";position:fixed;z-index:0;pointer-events:none;top:-30px;right:-25px;width:min(38vw,430px);aspect-ratio:1;background:url('/assets/blossom-corner.png') top right/contain no-repeat;opacity:.28;filter:saturate(.8)}
body>*{position:relative;z-index:1}
h1,h2{font-weight:600;color:#66354b;text-shadow:0 1px 0 #fff8}
h3,.row strong,.panel-head h3,.card-body h3{font-weight:700}
p,small,.row,table,label,input,select,textarea,button{font-weight:500}
.sidebar{background:linear-gradient(180deg,#ffe6ef 0%,#fbd5e3 100%);border-color:#e8bfd0;box-shadow:10px 0 35px #b6527920}
.topbar,.public-header{background:#fff8fbdd;backdrop-filter:blur(14px);border-color:#edcfda}
.brand{font-weight:600}.brand small{font-weight:700}.monogram{background:linear-gradient(145deg,#9e4d70,#733149);color:#ffe8f0;box-shadow:0 8px 20px #873c5d30}
.brand-logo{display:block;width:44px;height:52px;object-fit:contain;flex:none;filter:drop-shadow(0 5px 7px #78344f35)}
.brand-logo-large{width:76px;height:92px}
.customer-footer .footer-logo{width:48px;height:58px;filter:drop-shadow(0 6px 9px #3d17264f)}
nav button{font-weight:600;border-radius:14px}nav button:hover{background:#fff5f9aa}nav button.active{background:linear-gradient(135deg,#914463,#73344f);box-shadow:0 8px 20px #77314f30}
.primary{background:linear-gradient(135deg,#a34d72,#7b3654);font-weight:700;border-radius:999px;box-shadow:0 8px 18px #8b3f6030}.primary:hover{background:linear-gradient(135deg,#b35c80,#873f60);transform:translateY(-1px)}
.secondary,.tabs button,.calendar-arrow,.calendar-view-switch{background:#fff9fcbb;border-color:#e3baca;border-radius:999px;font-weight:600}
.tabs .selected,.calendar-view-switch button.selected{background:#8b3f60;color:#fff}
.hero,.success-card,.total-box,.report-summary{background:linear-gradient(135deg,#ffe5efdd,#f8cdddcc);border-color:#e8b9cb}
.hero::after,.panel::after,.stat::after,.booking-form::after,.invoice-page::after,.report-page::after,.catalog-card::after{content:"";position:absolute;pointer-events:none;right:-18px;top:-18px;width:145px;height:145px;background:url('/assets/blossom-corner.png') top right/contain no-repeat;opacity:.16}
.hero,.panel,.stat,.booking-form,.invoice-page,.report-page,.catalog-card{position:relative;overflow:hidden;background:#fffafdcc;border-color:#e9c7d4;box-shadow:0 12px 32px #974c6914;backdrop-filter:blur(12px)}
.hero>* ,.panel>* ,.stat>* ,.booking-form>* ,.invoice-page>* ,.report-page>* ,.catalog-card>*{position:relative;z-index:1}
.stat,.panel,.booking-form,.invoice-page,.report-page{border-radius:22px}
.stat:hover,.catalog-card:hover{border-color:#dca8bb;box-shadow:0 16px 38px #974c6922}
input,select,textarea{background:#fffafdde;border-color:#dfb4c5;border-radius:14px;min-height:46px;font-weight:600}input:focus,select:focus,textarea:focus{border-color:#a65072;box-shadow:0 0 0 3px #d9789d22}
th,.calendar-weekdays,.calendar-corner,.calendar-day-head{background:#fbdce7;color:#745363}th{font-weight:700}.table-wrap,.calendar-month,.calendar-scroll{background:#fffafdcc;border-color:#e7bfce;box-shadow:0 10px 30px #974c6912}
.badge{background:#f8d7e4;color:#7b3f59;font-weight:700;border-radius:999px}.badge.warm{background:#ffe4d8;color:#8e563d}.badge.premium{background:#8b3f60;color:#fff}
.calendar-event{background:#f7d7e4;border-color:#b14f75;color:#623248}.calendar-day-column.today,.month-day.today{background:#fff1f6}.month-day.today .day-number,.calendar-day-head.today strong{background:#9b486a}
.card-art,.card-art.hair,.card-art.facial,.card-art.spa{background:linear-gradient(145deg,#ffe3ed,#f6c8d9)}.card-art .motif,.card-art.hair .motif{color:#b4577b}
.warning{background:#fff0e9;border-color:#efc9b8;color:#824d3c}.error{font-weight:700;color:#a82e50}
.login-art{background:linear-gradient(145deg,#ffdce9,#f6bfd3);isolation:isolate}.login-art::after{content:"";position:absolute;inset:0;background:url('/assets/blossom-corner.png') top right/68% auto no-repeat;opacity:.45;z-index:0}.login-art>*{position:relative;z-index:1}.art-circle{border-color:#df94af}.art-circle:after{border-color:#df94af}
.public-body{background:radial-gradient(circle at 15% 10%,#ffd9e7,transparent 28rem),linear-gradient(145deg,#fff8fb,#fde4ed)}
.booking-intro em{color:#b34f78}.booking-intro .hero-badge{border-color:#dc9bb4;background:#fff8fb99;color:#8b3f60}
.payment-qr{background:#fff0f6;border-color:#e9c1d1}
.hero-products{width:150px;height:135px;object-fit:contain;align-self:flex-end;margin:-18px -2px -24px auto;opacity:.62;filter:drop-shadow(0 10px 14px #94446120)}.hero>*{position:relative;z-index:1}
.selfcare-portrait{margin:30px 0 18px;border:1px solid #e7b7c9;border-radius:120px 120px 24px 24px;overflow:hidden;background:#f7cad9;box-shadow:0 16px 38px #994b681f}.selfcare-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.selfcare-portrait figcaption{padding:12px 16px;background:#fff8fbd9;text-align:center;font:600 italic 16px Georgia,serif;color:#7e3e5b}
#toast{background:#7c3653;font-weight:700;border-radius:16px}
@media(max-width:720px){body::before{width:230px;opacity:.18}.sidebar{background:#ffe3ed}.content{padding-top:28px}.panel,.stat,.booking-form{border-radius:20px}.primary{min-height:48px}.login-art::after{background-size:85% auto}.hero-products{width:118px;height:105px;position:absolute;right:-8px;bottom:-8px;opacity:.22}.selfcare-portrait{max-width:430px;margin:22px auto 5px;border-radius:90px 90px 22px 22px}.booking-intro .hero-badge{display:none}}
@media print{body{background:#fff}body::before,.hero::after,.panel::after,.stat::after,.booking-form::after,.invoice-page::after,.report-page::after,.catalog-card::after{display:none}}

/* Customer contact footer */
.customer-footer{margin-top:28px;padding:34px clamp(22px,5vw,64px);display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.7fr);align-items:center;gap:34px;background:linear-gradient(135deg,#78344f,#a95073);border-top:1px solid #d899b1;color:#fff8fb;font-size:13px;letter-spacing:0}
.customer-footer-brand{display:flex;align-items:center;gap:16px}
.customer-footer-brand .monogram{flex:none;background:#fff1f6;color:#873d5e;box-shadow:0 8px 20px #47203340}
.customer-footer-brand strong{display:block;font:700 18px Georgia,serif;letter-spacing:2px;color:#fff}
.customer-footer-brand>div>span{display:block;margin-top:7px;color:#f7dce7;font-size:12px;letter-spacing:.3px}
.customer-footer-details{display:grid;grid-template-columns:.78fr .85fr 1.45fr 1fr;gap:12px}
.customer-footer-item{display:flex;align-items:flex-start;gap:12px;min-height:96px;padding:17px;border:1px solid #f6cddd73;border-radius:18px;background:#fff8fb12;color:#fff;text-decoration:none;transition:transform .18s ease,background .18s ease}
.customer-footer .customer-footer-item>span:last-child{display:block}
.customer-footer-item:hover{transform:translateY(-2px);background:#fff8fb20}
.customer-footer-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#f8cbdb;color:#7d3453;font-size:19px;font-weight:700}
.customer-footer-item small{display:block;margin-bottom:6px;color:#f6ccdc;font-size:9px;font-weight:700;letter-spacing:1.25px}
.customer-footer-item strong{display:block;color:#fff;font-size:12px;line-height:1.5}
.customer-footer-item em{display:block;margin-top:5px;color:#f8dbe6;font-size:10px;font-style:normal}
@media(max-width:980px){.customer-footer{grid-template-columns:1fr}.customer-footer-details{grid-template-columns:1fr 1fr}.customer-footer-address{grid-column:span 2}}
@media(max-width:540px){.customer-footer{padding:28px 20px}.customer-footer-details{grid-template-columns:1fr}.customer-footer-address{grid-column:auto}.customer-footer-item{min-height:0}}
@media print{.customer-footer{background:#fff;color:#222;border-top:1px solid #ccc}.customer-footer-item,.customer-footer-brand strong{color:#222}.customer-footer-item{border-color:#ddd}.customer-footer-icon{display:none}}
