
:root{--ink:#3f3035;--rose:#a76e7d;--rose2:#c58e9b;--cream:#fffaf8;--blush:#f6e9e7;--line:#ead9d8}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 Arial,sans-serif}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(42px,5vw,72px);font-style:italic;line-height:1.06;margin:10px 0 20px}h2{font-size:34px;margin:8px 0 22px}h3{font-size:23px;margin:5px 0}p{margin:6px 0 18px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.btn{border:0;border-radius:30px;padding:12px 22px;background:var(--rose);color:white;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{background:transparent;color:var(--rose);border:1px solid var(--rose)}.btn.small{padding:8px 15px;font-size:13px}.site-header{background:#fffaf8ed;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.navwrap{max-width:1260px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 24px}.logo{width:105px;height:62px;object-fit:contain;object-position:left center;cursor:pointer}.nav{display:flex;align-items:center;gap:24px}.nav button{border:0;background:transparent;color:var(--ink);font-size:13px;white-space:nowrap}.nav button.active{color:var(--rose);text-decoration:underline;text-underline-offset:8px}.menu-toggle{display:none;border:0;background:transparent;font-size:27px}.hero{background:linear-gradient(90deg,#f9ecebdc 0%,#f9ecebb5 35%,transparent 70%),url('assets/hero.jpg') right 40% center/cover no-repeat;min-height:470px;display:flex;align-items:center}.hero-inner{max-width:1260px;margin:auto;width:100%;padding:60px 55px}.eyebrow{letter-spacing:3px;font-size:12px;color:var(--rose);text-transform:uppercase}.hero p{max-width:425px}.flourish{color:var(--rose);font-size:24px;letter-spacing:15px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1180px;margin:-15px auto 0;position:relative;background:#fff7f5ed;border-radius:35px;padding:17px 22px;box-shadow:0 8px 25px #7b45551a;text-align:center}.benefits span{font-size:23px;color:var(--rose);display:block}.section{max-width:1180px;margin:0 auto;padding:55px 24px;text-align:center}.section.tint{max-width:none;background:linear-gradient(130deg,#f6e6e5,#fff8f7)}.section.tint>*{max-width:1180px;margin-left:auto;margin-right:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:17px;background:#fffaf9;overflow:hidden;box-shadow:0 5px 14px #74495412}.card-photo{height:140px;background:url('assets/hero.jpg') center/cover}.card:nth-child(2) .card-photo{background-position:25% 65%}.card:nth-child(3) .card-photo{background-position:65% 40%}.card:nth-child(4) .card-photo{background-position:85% 40%}.card-content{padding:15px}.price{font-size:21px;color:var(--rose);font-weight:bold}.muted{color:#816d73;font-size:13px}.steps{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin:25px auto}.step b{display:inline-grid;place-items:center;background:var(--rose);color:white;width:35px;height:35px;border-radius:50%;margin-right:9px}.page{max-width:1180px;margin:0 auto;padding:45px 24px;min-height:60vh}.page-head{text-align:center;margin-bottom:30px}.panel{border:1px solid var(--line);background:white;border-radius:16px;padding:22px;box-shadow:0 5px 20px #7449540a}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fields{display:grid;gap:14px}.field label{display:block;font-size:13px;font-weight:bold;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #e4d4d4;border-radius:10px;background:#fffdfc;color:var(--ink)}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{padding:9px;border-radius:10px;border:1px solid var(--line);background:white;color:var(--ink)}.slot.selected{background:var(--rose);color:white}.notice{background:#f5e7e4;border-radius:12px;padding:13px;margin:15px 0}.booking{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;margin:10px 0;background:white}.footer{background:#f5e9e6;padding:30px;text-align:center;color:#80646d}.admin{display:grid;grid-template-columns:220px 1fr;min-height:78vh;background:#fff9f7}.admin aside{background:#5b414b;color:white;padding:24px 14px}.admin aside h3{padding:0 10px;margin-bottom:24px}.admin aside button{display:block;width:100%;text-align:left;padding:13px;border:0;border-radius:9px;background:transparent;color:white;margin:3px 0}.admin aside button.selected{background:#ac7b89}.admin main{padding:30px;max-width:1100px;width:100%}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.metric{padding:18px;background:white;border:1px solid var(--line);border-radius:12px}.metric strong{font:34px Georgia;display:block;color:var(--rose)}.admin-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px;border-bottom:1px solid var(--line);flex-wrap:wrap}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery div{height:230px;background:url('assets/hero.jpg') center/cover;border-radius:16px}.gallery div:nth-child(2){background-position:left center}.gallery div:nth-child(3){background-position:right center}.hidden{display:none!important}@media(max-width:850px){.nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--cream);padding:18px;box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-toggle{display:block}.hero{min-height:460px;background:linear-gradient(90deg,#f9ecebf2,#f9eceb99 58%,transparent),url('assets/hero.jpg') 58% center/cover}.hero-inner{padding:45px 25px}.benefits{grid-template-columns:repeat(2,1fr);margin:0 10px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.admin{grid-template-columns:1fr}.admin aside{display:flex;gap:6px;overflow-x:auto;padding:12px}.admin aside h3{display:none}.admin aside button{min-width:max-content}.admin main{padding:18px}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.hero{min-height:430px;background:linear-gradient(90deg,#f9ecebed,#f9ecebaf 70%,#f9eceb33),url('assets/hero.jpg') 58% center/cover}.hero h1{font-size:43px;max-width:280px}.hero p{max-width:280px}.cards{gap:10px}.card-photo{height:100px}.card-content{padding:10px}.card h3{font-size:19px}.benefits{font-size:12px}.slots{grid-template-columns:repeat(3,1fr)}.gallery{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}}

.cal-wrap{max-width:1500px}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;background:#fff;border:1px solid var(--line);padding:13px 18px;border-radius:14px 14px 0 0}.cal-controls{display:flex;gap:5px}.cal-control{border:1px solid #e6cfd0;border-radius:8px;background:#fff;color:var(--ink);padding:8px 13px}.cal-active,.cal-control:hover{background:var(--rose);color:white}.cal-scroll{overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;background:white;max-height:690px}.cal-timeline{width:100%}.cal-headrow,.cal-gridrow{display:flex}.cal-headrow{position:sticky;top:0;z-index:5;background:#f9eeec}.cal-time-head,.cal-timecol{width:65px;flex:none}.cal-time-head{padding:12px}.cal-dayhead{flex:1;text-align:center;padding:12px 3px;border-left:1px solid var(--line);font-weight:bold}.cal-current{color:var(--rose)}.cal-timecol>div{padding:0 8px;font-size:12px;color:#8e7980;transform:translateY(-7px)}.cal-daycol{position:relative;flex:1;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0px,transparent 67px,#ecdede 67px,#ecdede 68px)}.cal-hourcell{position:absolute;left:0;width:100%;border:0;background:transparent;z-index:0}.cal-hourcell:hover{background:#f8e9e8}.cal-event{position:absolute;z-index:2;left:3px;width:calc(100% - 6px);border:1px solid #a76e7d;border-left:4px solid #925b6c;border-radius:7px;background:#ead1d7;color:#4b303a;padding:5px;text-align:left;overflow:hidden;font-size:12px;display:flex;flex-direction:column;line-height:1.3}.cal-event:hover{background:#dcb5c1}.cal-block{position:absolute;left:2px;width:calc(100% - 4px);background:repeating-linear-gradient(45deg,#e6e2e0,#e6e2e0 8px,#f4f0ee 8px,#f4f0ee 16px);border:1px solid #b5aaa8;color:#62585a;z-index:1;padding:5px;font-size:11px;overflow:hidden}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;overflow:auto}.cal-month-head{text-align:center;padding:10px;background:#f9eeec}.cal-month-cell{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:125px;padding:6px;display:flex;flex-direction:column;gap:4px}.cal-outside{opacity:.4}.cal-daynum{align-self:flex-start;border:0;background:transparent;font-weight:bold}.cal-month-event{border:0;border-radius:5px;background:#ead1d7;color:#54323d;font-size:11px;text-align:left;padding:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cal-add{border:0;background:transparent;color:#9e6776;margin-top:auto;font-size:11px;text-align:left}.cal-legend{display:flex;gap:22px;margin:14px 0;color:#8b6470;font-size:13px}@media(max-width:800px){.cal-toolbar{justify-content:center}.cal-month{min-width:700px}.cal-wrap{overflow-x:auto}}
.schedule-row{display:grid;grid-template-columns:minmax(120px,1.3fr) 1fr auto 1fr;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.schedule-row input[type=time]{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:9px}.availability-stack{display:grid;gap:18px;max-width:780px}.availability-stack .panel{box-shadow:none}.availability-stack .grid2{gap:12px}@media(max-width:520px){.schedule-row{grid-template-columns:1fr 1fr;gap:7px}.schedule-row label{grid-column:1/-1}.schedule-row span{display:none}}.customer-compact{align-content:start;gap:9px}.customer-compact .field input{padding:9px}.customer-compact .notice{margin:4px 0;padding:10px}.service-group{margin:24px 0 34px;text-align:left}.service-group>h3{color:var(--rose);border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:15px}.extra-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.extra-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:10px;border-radius:10px;background:#fffaf9;cursor:pointer;font-size:13px}.extra-option input{accent-color:var(--rose);flex-shrink:0}.extra-option small{display:block;color:#816d73}.customer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-fields .field:first-child{grid-column:span 2}.customer-compact{align-content:start}.customer-compact .notice{margin:4px 0;padding:10px}@media(max-width:600px){.extra-options,.customer-fields{grid-template-columns:1fr}.customer-fields .field:first-child{grid-column:auto}}.admin-service-panel{max-width:820px;margin:0 auto}.admin-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.admin-section-head h2{margin:0}.admin-filter{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.admin-filter label{min-width:100px;font-weight:bold;font-size:13px}.admin-filter select{flex:1;min-width:210px;padding:11px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}.edit-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-wide{grid-column:1/-1}.edit-service-grid textarea{min-height:65px;resize:vertical}.photo-edit{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.photo-edit img{width:125px;height:95px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.photo-edit>div{flex:1;min-width:210px}.photo-edit input{max-width:100%}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.admin-service-panel h3{margin-top:12px}@media(max-width:550px){.edit-service-grid{grid-template-columns:1fr}.admin-filter label{width:100%}.admin-filter select{min-width:0;width:100%}} .fields select{max-width:100%}.fields select option{font-size:14px}.service-date-entry{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.service-date-entry input{max-width:220px}.service-date-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.service-date-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:25px;background:var(--blush);padding:5px 9px 5px 13px;font-size:13px}.service-date-chip button{border:0;background:transparent;color:var(--rose);font-size:20px;line-height:1;cursor:pointer}
.auth-box{max-width:440px;margin:45px auto}.status{padding:12px;border-radius:10px;background:#f6e9e7;margin:10px 0}.admin-menu{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 25px}.admin-menu button{padding:10px 16px;border:1px solid #d6b6bc;border-radius:10px;background:white}.admin-menu button.active{background:#a76e7d;color:white}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px;border-bottom:1px solid #ead9d8}input,select,textarea{max-width:100%}.field{margin-bottom:12px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #ead9d8;border-radius:10px}.slot:disabled{opacity:.3}.pill{padding:4px 8px;background:#f5e7e4;border-radius:12px}.service-tile{padding:16px;border:1px solid #ead9d8;border-radius:15px;background:white;cursor:pointer;text-align:left}.service-tile.selected{outline:2px solid #a76e7d}.service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.wrap{max-width:1100px;margin:auto;padding:30px 20px}.error{color:#a32742}.success{color:#24673b}.smalltext{font-size:12px;color:#816d73}.row-buttons{display:flex;gap:8px;flex-wrap:wrap}.hero{min-height:330px}.hero-inner{padding:35px 55px}@media(max-width:600px){.hero-inner{padding:30px 20px}}