@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Oswald:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#09090b;--surface:#19191e;--raised:#202025;--line:#303038;--accent:#f03a85;--text:#f5f1f3;--muted:#a6a3ac;--display:'Oswald','Arial Narrow',sans-serif;--body:'Manrope',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--body)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ff98c4;outline-offset:4px}button{transition:background .15s,border-color .15s}button:hover:not(:disabled){filter:brightness(1.12)}.brand-panel{position:fixed;left:0;top:0;width:calc(100% - 620px);height:100vh;padding:55px 7vw;overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(ellipse at 0 70%,#2b0b1b,transparent 60%),#0c0b0e}.brand-panel:before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent);box-shadow:0 0 35px #f03a8550}.wordmark{font:700 25px 'Barlow Condensed',var(--display);letter-spacing:6px;color:var(--text);text-decoration:none;display:inline-block}.wordmark span{display:block;font:8px var(--body);letter-spacing:3.7px;margin-top:3px}.editorial{position:relative;z-index:1;margin-top:14vh}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted)}h1{font:700 clamp(50px,6.7vw,110px)/1.08 var(--display);letter-spacing:-2px;margin:24px 0}h1 em{color:var(--accent);font-style:normal}p{color:var(--muted)}.editorial p{line-height:1.9}.signature{position:absolute;font:italic 340px Georgia;right:-35px;bottom:25px;color:#ffffff03;letter-spacing:-80px;pointer-events:none}.caption{position:absolute;bottom:24px;font-size:9px;letter-spacing:2px}.shell{margin-left:auto;width:620px;min-height:100vh;padding:0 40px 110px}.demo-bar{height:58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #232329;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.demo-bar i{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:5px}.role-switch{background:#17171b;border-radius:8px;padding:3px;display:flex}.role-switch button{border:0;background:transparent;padding:7px 13px;border-radius:6px;font-size:11px;color:var(--muted)}.role-switch .active{background:#353039;color:white}header{height:95px;display:flex;align-items:center;justify-content:space-between}.avatar{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:italic 18px Georgia;color:#ec91b6}h2{font:600 36px/1.2 var(--display);letter-spacing:-.6px;margin:8px 0 24px}h3{font-size:14px;margin:0;font-weight:800}.page-heading{margin:12px 0 26px}.section-label,.date-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 14px}.section-label>span,.date-heading>span{font-size:10px;color:var(--muted)}.services{display:grid;gap:10px}.service{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border:1px solid #2b2a30;border-radius:12px;padding:18px 16px}.service.chosen{border-color:var(--accent);background:#22131d}.service-icon{flex-shrink:0;width:42px;height:46px;background:#ffffff05;border:1px solid #ffffff09;display:grid;place-items:center;border-radius:9px;font-size:24px;color:#ded6dc}.service-text{flex:1}.service-text b{font-size:15px;display:block}.service-text small{display:block;font-size:10px;color:var(--muted);margin:3px 0 5px}.service-text>span{font-size:10px;color:#cbc2cc}.service-price{text-align:right;font-size:13px;font-weight:700;white-space:nowrap}.service-price i{font-style:normal;display:block;color:var(--accent);font-size:19px;margin-top:9px}.dates{display:flex;gap:8px;overflow:auto;padding:3px 2px 10px;scrollbar-width:thin;scrollbar-color:#36303a transparent}.day{min-width:57px;height:69px;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:grid;place-content:center;gap:3px}.day span{font-size:10px;color:var(--muted)}.day b{font-size:18px}.day.selected,.slot.selected{background:var(--accent);border-color:var(--accent);color:#fff}.day.selected span,.slot.selected small{color:white}.legend{display:flex;gap:17px;margin:0 0 14px;font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:6px;height:6px;border:1px solid #aaa;margin-right:5px;border-radius:50%}.legend span+span i{border:0;background:#555}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{border:1px solid #56515b;background:transparent;border-radius:8px;min-height:59px}.slot b{display:block;font-size:13px}.slot small{display:block;font-size:8px;color:var(--muted);margin-top:3px}.slot:disabled{background:#17171b;border-color:#222227;color:#77727d}.slot:disabled small{color:#8a8490}.booking-footer{display:flex;align-items:center;gap:20px;background:var(--bg);padding:22px 0 10px}.booking-footer>div{min-width:100px}.booking-footer b{display:block;font-size:18px}.booking-footer div span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.primary,.secondary{border-radius:9px;border:1px solid transparent;min-height:48px;padding:12px 18px;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:15px}.primary{background:var(--accent);color:#fff}.primary:disabled{background:#3b2530;color:#a58896}.secondary{background:transparent;border-color:#4c4851;color:#dfd8e0}.booking-footer .primary{flex:1}.full{width:100%;margin-top:14px}nav{position:fixed;bottom:0;right:0;width:620px;display:flex;justify-content:space-around;background:#101013f7;backdrop-filter:blur(16px);border-top:1px solid #25242a;padding:14px 30px max(18px,env(safe-area-inset-bottom))}nav button{border:0;background:none;font-size:10px;color:var(--muted);min-width:90px;position:relative}nav button>span{font-size:23px;display:block;margin-bottom:4px}nav .current{color:var(--accent)}nav .current:after{content:'';height:2px;width:20px;background:var(--accent);position:absolute;bottom:-8px;left:calc(50% - 10px)}.intro{line-height:1.8;margin-top:-10px;margin-bottom:25px}.booking-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface);margin-bottom:16px}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-top>b{font-size:13px}.badge{font-size:9px;background:#113126;color:#71d5a4;padding:7px 8px;border-radius:7px}.badge.muted{background:#30282e;color:#baabb4}.booking-service{display:flex;align-items:center;gap:12px;margin:22px 0}.booking-service>div{flex:1}.booking-service h3{font-size:13px}.booking-service p{font-size:10px;margin:4px 0 0}.booking-service>b{font-size:12px}.actions{display:flex;gap:10px}.actions>button{flex:1}.cancelled{opacity:.65}.day-summary{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:17px 0 24px}.timeline{display:grid;gap:12px}.timeline-row{display:flex;align-items:center;gap:16px;width:100%;border:0;padding:0;background:none;text-align:left}.timeline-row time{color:#c0b7c2;width:43px;font-size:12px}.timeline-row>div{flex:1;background:var(--surface);border:1px solid #28272e;border-radius:10px;padding:19px 15px}.timeline-row b{display:block;font-size:14px}.timeline-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.timeline-row>span{color:var(--muted)}.timeline-row.break>div{background:transparent;border-style:dashed}.timeline-row.break b{display:inline;margin-left:7px}.footnote{font-size:10px;line-height:1.8;text-align:center;margin:22px 0}.notice{padding:19px;background:var(--surface);border-radius:10px;color:#bcb4bf;line-height:1.8;font-size:12px;margin-top:24px}.price-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 0}.price-row small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.settings-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:19px 0}.settings-list span{color:var(--muted)}.empty{padding:55px 20px;text-align:center;color:var(--muted)}dialog{width:min(440px,calc(100% - 28px));padding:32px 24px;border:1px solid #41313c;border-radius:18px;background:#151418;color:var(--text);max-height:90dvh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{margin-top:15px;font-size:30px}dialog .close{position:absolute;right:12px;top:9px;border:0;background:transparent;color:var(--muted);font-size:28px;width:36px;height:36px}.confirm-summary{padding:20px;background:var(--raised);border-radius:10px;margin:20px 0}.confirm-summary p{margin:8px 0}.confirm-summary span{font-size:12px}label{display:block;margin-top:17px;font-size:12px}input{display:block;width:100%;height:48px;margin-top:8px;border:1px solid #43404a;border-radius:8px;background:#202025;padding:12px;color:white}#toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,15px);padding:15px 22px;border:1px solid #53404b;border-radius:12px;background:#28212a;box-shadow:0 12px 45px #0008;max-width:90%;width:max-content;opacity:0;pointer-events:none;z-index:5;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1500px){.shell{margin-right:7vw}.brand-panel{width:calc(100% - 620px - 7vw)}nav{right:7vw}}@media(max-width:1050px){.brand-panel{width:calc(100% - 540px);padding:40px}.shell,nav{width:540px}.shell{padding-left:28px;padding-right:28px}h1{font-size:56px}.editorial{margin-top:20vh}.caption{font-size:7px;max-width:200px}}@media(max-width:800px){.brand-panel{display:none}.shell{width:100%;max-width:540px;margin:auto;padding:0 22px 110px}nav{width:100%;max-width:540px;right:50%;transform:translateX(50%)}header{height:82px}.page-heading{margin-top:8px}h2{font-size:32px}.service{padding:15px 12px}.service-text small{font-size:9px}.service-text b{font-size:14px}.service-price{font-size:12px}.demo-bar{height:52px}}@media(max-width:370px){.shell{padding-left:15px;padding-right:15px}.service-icon{display:none}.card-top{align-items:flex-start;flex-direction:column}.slots{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(min-width:801px) and (max-height:650px){.caption{display:none}.editorial{margin-top:7vh}h1{font-size:48px}.brand-panel{padding-top:32px}}

.field-error{color:#ff91bd;font-size:12px;margin:7px 0 0;line-height:1.5}.field-error:empty{display:none}.field-hint{color:var(--muted);font-size:10px;margin:7px 0 0}input[aria-invalid="true"]{border-color:#ff91bd}

.prototype-notice{font-size:10px;line-height:1.6;color:#b9aab4;border-left:2px solid var(--accent);padding-left:12px;margin:0 0 22px}

[hidden]{display:none!important}.primary{text-decoration:none}.booking-service h3{overflow-wrap:anywhere}

.service-edit{width:100%;background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);text-align:left;gap:18px}.service-edit>span:first-child{min-width:0}.service-edit b{overflow-wrap:anywhere}.edit-price{display:flex;align-items:center;gap:15px;white-space:nowrap}.edit-price>span{color:var(--accent);font-size:22px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-row{display:flex;gap:12px;align-items:center;margin:22px 0}.check-row input{width:20px;height:20px;margin:0;accent-color:var(--accent);flex-shrink:0}

.closed-day{opacity:.4}.closed-day b{text-decoration:line-through}.text-button{border:0;background:transparent;color:var(--accent);padding:6px;font-size:12px}select{width:100%;min-height:48px;margin-top:8px;padding:10px;border:1px solid #43404a;border-radius:8px;background:var(--raised);color:var(--text);font:inherit}fieldset{border:0;padding:0;margin:0;min-width:0}.break-editor{display:grid;grid-template-columns:1fr 1fr 28px;gap:8px;align-items:end}.break-editor label{font-size:10px}.break-editor input{padding:8px;min-width:0}.break-editor>button{height:48px;font-size:24px}.conflict-note{border:1px solid #6d374e;margin:12px 0}.form-columns>*{min-width:0}input[type=date],input[type=time]{min-width:0;max-width:100%}
