:root{--paper:#fffaf7;--ink:#352e30;--muted:#7a6a70;--pink:#b96e89;--line:#e8dce0;--soft:#f2e1e8;--green:#61785d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,select{outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:14px 5%;border-bottom:1px solid var(--line);background:white;gap:20px}header img{width:162px;height:auto;display:block}header nav{display:flex;gap:22px;font-size:12px}.test{background:var(--soft);color:#764d60;font-size:11px;padding:12px 5%;text-align:center}.container{max-width:1220px;margin:auto;padding:40px 5% 60px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--pink);font-weight:650;margin:0 0 10px}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 16px}h1{font-size:48px;letter-spacing:-1.6px}h2{font-size:26px}p{margin:0 0 16px}.muted,.hint{color:var(--muted);font-size:12px}.intro{max-width:670px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;margin-top:30px}.card{padding:25px;background:white;border:1px solid var(--line);border-radius:14px;margin-bottom:20px}.step-title{font-size:15px;margin:0 0 17px;font-weight:600}.step-title span{display:inline-grid;place-items:center;background:var(--soft);color:#92556e;border-radius:50%;width:27px;height:27px;margin-right:8px;font-size:12px}.services{display:grid;grid-template-columns:1fr 1fr;gap:10px}.services button,.slots button{border:1px solid var(--line);background:#fffdfb;border-radius:8px;padding:14px;text-align:left;color:var(--ink)}.services b,.services small{display:block}.services b{font-size:12px}.services small{font-size:10px;color:var(--muted);margin-top:5px}button[aria-pressed=true]{background:var(--soft)!important;border-color:var(--pink)!important;color:#74455a}.date-row{display:flex;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}input,select{width:100%;padding:11px;border:1px solid #d7c8ce;border-radius:7px;color:var(--ink);background:#fff;font-size:14px}.date-row input{max-width:210px}label{display:block;font-size:12px;font-weight:550;margin-bottom:6px}.slots{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.slots button{text-align:center;padding:10px;font-size:12px}.message{font-size:12px;line-height:1.7;margin:14px 0;color:var(--muted)}.error{color:#a72c49}.primary{background:var(--ink);border:1px solid var(--ink);color:white;border-radius:7px;padding:12px 18px;font-size:12px;font-weight:550}.secondary{border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:10px 15px;font-size:12px}form input,form select{margin-bottom:15px}.summary{position:sticky;top:20px;align-self:start}.summary dl{font-size:12px;margin:20px 0}.summary dl div{border-bottom:1px solid var(--line);padding:11px 0}.summary dt{font-size:10px;color:var(--muted)}.summary dd{margin:3px 0 0}.summary .primary{width:100%}.success{background:#eef4e9;border:1px solid #c7d6bc;padding:20px;border-radius:10px}.success h2{font-size:25px}.success a{display:inline-block;margin-top:10px;border-bottom:1px solid var(--green);font-size:12px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:30px 0 20px}.toolbar>div{display:flex;gap:8px;align-items:center}.toolbar input{width:165px}.range-title{font-size:19px;font-family:Georgia;margin:10px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:15px 20px}.stat b{font-size:25px;font-family:Georgia;display:block}.stat span{font-size:11px;color:var(--muted)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:9px}.calendar-scroll{overflow-x:auto;padding-bottom:8px}.day{background:#fff;border:1px solid var(--line);border-radius:10px;min-height:240px;overflow:hidden}.day-head{padding:12px;background:#f7f0f2;border-bottom:1px solid var(--line);font-size:11px;font-weight:600}.day.today{border-color:var(--pink)}.day.today .day-head{background:var(--soft)}.day-body{padding:8px}.appointment{padding:10px;background:#f5e8ed;border-left:3px solid var(--pink);border-radius:5px;margin-bottom:8px;font-size:10px;overflow-wrap:anywhere}.appointment.block{background:#eaece6;border-color:#7c866e}.appointment time,.appointment b{display:block}.appointment time{font-weight:700;color:#84536a}.appointment b{margin:5px 0 3px;font-size:12px}.appointment small{display:block;color:var(--muted);margin-top:4px}.appointment button{border:0;background:transparent;color:#8b5869;font-size:9px;padding:9px 0 0;text-decoration:underline}.empty{font-size:10px;color:var(--muted);padding:12px 3px}.day-view{max-width:720px}.day-view .appointment{padding:16px;font-size:12px}.day-view .appointment b{font-size:16px}.day-view .appointment button{font-size:11px}.admin-layout{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-layout .card{margin:0}details summary{cursor:pointer;font-size:14px;font-weight:600;margin-bottom:16px}details[open] summary{margin-bottom:22px}.row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.cancel-confirm{font-size:11px;color:#a72c49;background:#fff;padding:8px;border-radius:5px;margin-top:8px}.cancel-confirm button{margin-right:12px}footer{border-top:1px solid var(--line);padding:20px 5%;text-align:center;font-size:11px;color:var(--muted)}.mobile-only{display:none}@media(max-width:760px){h1{font-size:37px}header{padding:10px 5%}header img{width:130px}header nav{gap:12px;font-size:10px}.container{padding-top:28px}.booking-layout{grid-template-columns:1fr;gap:0}.summary{position:static}.services{grid-template-columns:1fr 1fr}.slots{grid-template-columns:repeat(4,1fr)}.card{padding:20px}.admin-layout{grid-template-columns:1fr}.stats{gap:7px}.stat{padding:12px}.stat b{font-size:23px}.stat span{font-size:10px}.calendar-grid{grid-template-columns:repeat(7,155px)}.toolbar{gap:10px}.toolbar input{width:145px;font-size:14px}input,select{font-size:16px}.row{gap:10px}.mobile-only{display:block}}

.privacy-check{font-size:12px;line-height:1.6;margin:16px 0}.privacy-check input{width:18px;height:18px;display:inline-block;vertical-align:middle;margin-right:5px}.privacy-check a{color:inherit}
