@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#342a26;background:#fbfaf8;font-family:DM Sans,sans-serif;font-synthesis:none;--ink: #342a26;--muted: #756c67;--rose: #c79b8f;--rose-dark: #a87569;--paper: #fbfaf8;--sand: #eee5dd;--line: #e4dbd5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{overflow:hidden}.site-header{align-items:center;background:#fbfaf8f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;height:92px;justify-content:space-between;padding:0 clamp(24px,6vw,96px);position:sticky;top:0;width:100%;z-index:100;box-shadow:0 1px #322a260f}.brand img{display:block;height:54px;-o-object-fit:contain;object-fit:contain;width:164px}.main-nav{display:flex;gap:clamp(22px,3vw,48px);margin-left:auto;margin-right:clamp(24px,4vw,58px)}.main-nav a{color:#6e625d;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}.main-nav a:hover{color:var(--rose-dark)}.header-cta,.primary-button{align-items:center;background:var(--ink);border:0;color:#fff;display:inline-flex;font-size:11px;gap:14px;justify-content:center;letter-spacing:.12em;padding:16px 22px;text-transform:uppercase;transition:background .2s,transform .2s}.header-cta:hover,.primary-button:hover{background:var(--rose-dark);transform:translateY(-2px)}.menu-toggle{background:none;border:0;color:var(--ink);display:none}.hero{background:#f1e9e3;display:grid;grid-template-columns:47% 53%;min-height:720px}.hero-copy{align-self:center;padding:54px clamp(32px,9vw,150px);padding-right:5vw}.eyebrow{color:var(--rose-dark);font-size:11px;letter-spacing:.2em;margin:0 0 20px;text-transform:uppercase}h1,h2{font-family:Playfair Display,serif;font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0}h1{font-size:clamp(54px,6vw,92px);max-width:640px}h1 em,h2 em{color:var(--rose-dark);font-style:italic}.hero-text{color:var(--muted);font-size:16px;line-height:1.7;margin:28px 0 32px;max-width:350px}.hero-note{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:12px;margin-top:30px}.avatar-stack{display:flex}.avatar-stack i{background:#b8897c;border:2px solid #f1e9e3;border-radius:50%;height:24px;margin-left:-5px;width:24px}.avatar-stack i:first-child{background:#d1a89b;margin-left:0}.avatar-stack i:last-child{background:#806354}.hero-visual{min-height:630px;overflow:hidden;position:relative}.hero-visual>img{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.hero-badge{align-items:center;background:#fffdfaed;bottom:32px;display:flex;font-family:Playfair Display,serif;font-size:16px;gap:14px;line-height:1.25;padding:18px 22px;position:absolute;right:32px}.hero-badge svg{color:var(--rose-dark)}.hero-badge strong{font-style:italic;font-weight:500}.intro-strip{align-items:center;background:var(--ink);color:#eee1da;display:flex;font-family:Playfair Display,serif;font-size:17px;font-style:italic;gap:clamp(24px,6vw,86px);justify-content:center;letter-spacing:.02em;padding:20px}.intro-strip span{color:var(--rose);font-style:normal}.section{padding:clamp(76px,10vw,140px) clamp(24px,8vw,128px)}.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:52px}.section-heading h2,.story-copy h2,.visit-copy h2,.contact-section h2{font-size:clamp(42px,5vw,68px)}.section-description{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 5px;max-width:270px}.category-tabs{display:flex;gap:8px;margin-bottom:34px}.category-tabs button{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:11px;letter-spacing:.12em;padding:13px 20px;text-transform:uppercase;transition:.2s}.category-tabs button:hover,.category-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.service-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.service-card{background:#f2eae5}.service-card.no-image{border:1px solid rgba(50,42,38,.06);transition:transform .3s,box-shadow .3s}.service-card.no-image:hover{transform:translateY(-3px);box-shadow:0 12px 30px #322a2614}.service-duration{color:var(--muted);display:block;font-size:11px;letter-spacing:.08em;margin-top:10px;text-transform:uppercase}.service-image{height:300px;overflow:hidden;position:relative}.service-image img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s;width:100%}.service-card:hover .service-image img{transform:scale(1.04)}.service-image span{background:#fbfaf8e6;bottom:12px;color:var(--muted);font-size:10px;letter-spacing:.08em;padding:8px 10px;position:absolute;right:12px;text-transform:uppercase}.service-card-body{display:flex;flex-direction:column;justify-content:space-between;min-height:180px;padding:24px}.service-card h3{font-family:Playfair Display,serif;font-size:24px;font-weight:500;margin:0 0 8px}.service-card p{color:var(--muted);font-size:12px;line-height:1.6;margin:0;max-width:220px}.service-footer{align-items:center;display:flex;justify-content:space-between;margin-top:22px}.service-footer strong{font-family:Playfair Display,serif;font-size:21px;font-weight:500}.service-footer button,.text-button{align-items:center;background:none;border:0;color:var(--rose-dark);display:inline-flex;font-size:11px;gap:8px;letter-spacing:.08em;text-transform:uppercase}.service-footer button:hover,.text-button:hover{color:var(--ink)}.text-button{margin-top:36px}.story-section{align-items:center;background:#eee4dc;display:grid;gap:clamp(50px,9vw,140px);grid-template-columns:1fr 1fr}.story-image{height:570px;position:relative}.story-image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.story-stamp{align-items:center;background:var(--ink);bottom:-20px;color:#f8ede6;display:flex;flex-direction:column;font-family:Playfair Display,serif;font-size:13px;gap:8px;height:100px;justify-content:center;position:absolute;right:-20px;width:100px}.story-copy{max-width:470px}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;margin:28px 0 0}.story-copy .text-button{margin-top:36px}.menu-section{background:#fff}.menu-list{border-top:1px solid var(--line)}.menu-category{border-bottom:1px solid var(--line)}.menu-category-title{align-items:center;display:flex;padding:25px 0}.menu-category-title span{color:var(--rose-dark);font-family:Playfair Display,serif;font-size:15px;margin-right:28px}.menu-category-title h3{flex:1;font-family:Playfair Display,serif;font-size:29px;font-weight:500;margin:0}.menu-items{display:grid;grid-template-columns:repeat(2,1fr);padding:0 0 18px 58px}.menu-item{align-items:center;background:none;border:0;border-top:1px solid #eee8e3;display:flex;gap:18px;padding:18px 20px 18px 0;text-align:left}.menu-item>span{flex:1}.menu-item strong,.menu-item small{display:block}.menu-item strong{font-family:Playfair Display,serif;font-size:18px;font-weight:500}.menu-item small{color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px;max-width:310px}.menu-item b{font-family:Playfair Display,serif;font-size:17px;font-weight:500}.menu-item svg{color:var(--rose-dark)}.visit-section{background:#f6f0eb;padding-bottom:100px;padding-top:100px}.visit-card{display:grid;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1160px}.visit-copy{background:var(--ink);color:#f8eee8;padding:clamp(38px,6vw,82px)}.visit-copy h2 em{color:#d6aaa0}.contact-lines{margin:42px 0}.contact-lines p{align-items:flex-start;color:#d8cbc4;display:flex;font-size:13px;gap:16px;line-height:1.7;margin:20px 0}.contact-lines svg{color:#d6aaa0;flex:0 0 auto;margin-top:2px}.visit-copy .primary-button{background:#f2e2d9;color:var(--ink)}.visit-copy .primary-button:hover{background:#fff}.map-visual{min-height:530px;overflow:hidden;position:relative}.map-visual>img{filter:saturate(.65);height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.map-pin{align-items:center;background:#fffdfaf0;display:flex;gap:10px;left:50%;padding:12px 18px;position:absolute;top:50%;transform:translate(-50%,-50%)}.map-pin svg{color:var(--rose-dark)}.map-pin span{font-family:Playfair Display,serif;font-size:16px}.map-pin small{color:var(--muted);font-family:DM Sans,sans-serif;font-size:10px}.testimonial-section{background:#e5d6ce;padding:92px 24px;text-align:center}.quote-mark{color:var(--rose-dark);font-family:Playfair Display,serif;font-size:74px;height:54px;line-height:1}.testimonial-section blockquote{font-family:Playfair Display,serif;font-size:clamp(25px,3vw,40px);line-height:1.25;margin:15px auto 25px;max-width:720px}.testimonial-author{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:15px;justify-content:center;letter-spacing:.08em}.stars{color:var(--rose-dark);letter-spacing:3px}.contact-section{display:grid;gap:10vw;grid-template-columns:1fr 1fr}.contact-form{padding-top:14px}.form-row{display:grid;gap:22px;grid-template-columns:1fr 1fr}.contact-form label,.booking-form label,.date-picker label{color:var(--muted);display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.contact-form input,.contact-form textarea,.booking-form input,.date-picker input{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);display:block;font-size:14px;letter-spacing:0;margin:10px 0 28px;outline:0;padding:10px 0;text-transform:none;width:100%}.contact-form input:focus,.contact-form textarea:focus,.booking-form input:focus,.date-picker input:focus{border-color:var(--rose-dark)}.contact-form textarea{resize:vertical}.contact-form .primary-button{margin-top:4px}.site-footer{align-items:center;background:var(--ink);color:#d6c6be;display:flex;justify-content:space-between;padding:48px clamp(24px,8vw,128px)}.footer-brand img{filter:brightness(0) invert(1);height:44px;-o-object-fit:contain;object-fit:contain;width:136px}.footer-brand p{font-family:Playfair Display,serif;font-size:14px;font-style:italic;margin:10px 0 0}.footer-links{display:flex;gap:28px}.footer-links a,.footer-social{font-size:11px;letter-spacing:.08em}.footer-social{align-items:center;display:flex;gap:10px}.modal-backdrop{align-items:center;background:#261d1aa6;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:30}.booking-modal{background:var(--paper);max-height:calc(100vh - 40px);max-width:570px;overflow:auto;position:relative;width:100%}.modal-close{background:none;border:0;color:var(--muted);padding:18px;position:absolute;right:0;top:0;z-index:2}.modal-topline{color:var(--muted);display:flex;font-size:10px;justify-content:space-between;letter-spacing:.14em;padding:23px 34px 14px;text-transform:uppercase}.progress{background:var(--line);height:2px;margin:0 34px}.progress i{background:var(--rose-dark);display:block;height:100%;transition:width .3s}.modal-content{padding:44px 52px 52px}.modal-content h2{font-size:clamp(40px,6vw,57px)}.modal-lead{color:var(--muted);font-size:13px;line-height:1.6;margin:15px 0 25px}.modal-services,.extras-list{margin-top:28px}.modal-service,.extra-option{align-items:center;background:none;border:0;border-bottom:1px solid var(--line);display:flex;gap:14px;padding:18px 0;text-align:left;width:100%}.modal-service span,.extra-option>span:nth-child(2){flex:1}.modal-service strong,.modal-service small,.extra-option strong,.extra-option small{display:block}.modal-service strong,.extra-option strong{font-family:Playfair Display,serif;font-size:18px;font-weight:500}.modal-service small,.extra-option small{color:var(--muted);font-size:11px;margin-top:3px}.modal-service b,.extra-option b{font-family:Playfair Display,serif;font-size:16px;font-weight:500}.modal-service svg,.extra-option svg{color:var(--rose-dark)}.check-box{align-items:center;border:1px solid var(--line);color:#fff;display:flex;height:22px;justify-content:center;width:22px}.extra-option.selected .check-box{background:var(--rose-dark);border-color:var(--rose-dark)}.extra-option.selected{background:#f1e6df;padding-left:12px;padding-right:12px}.modal-actions{align-items:center;display:flex;justify-content:space-between;margin-top:30px}.back-button{background:none;border:0;color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.primary-button:disabled{background:#c8beb8;cursor:not-allowed;transform:none}.booking-form{display:grid;gap:0 20px;grid-template-columns:1fr 1fr;margin-top:26px}.full-field{grid-column:1 / -1}.birthday-field>span{display:block}.birthday-field small{font-size:9px;letter-spacing:0;text-transform:none}.birthday-field>div{display:flex;gap:16px}.summary-card{background:#f0e5de;margin:26px 0 28px;padding:20px}.summary-line,.summary-total{align-items:start;display:flex;justify-content:space-between;padding:9px 0}.summary-line span,.summary-total span{font-size:13px}.summary-line small{color:var(--muted);display:block;font-size:10px;margin-top:4px}.summary-line b{font-family:Playfair Display,serif;font-size:15px;font-weight:500}.summary-line.subtle{color:var(--muted);font-size:12px}.summary-total{border-top:1px solid #d8cac1;margin-top:10px;padding-top:16px}.summary-total strong{color:var(--rose-dark);font-family:Playfair Display,serif;font-size:23px;font-weight:500}.date-picker{display:grid;gap:24px;grid-template-columns:1fr 1.3fr}.time-options>span{color:var(--muted);display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.time-options>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.time-options button{background:#fff;border:1px solid var(--line);color:var(--muted);font-size:11px;padding:8px}.time-options button.selected,.time-options button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.date-caption{align-items:center;color:var(--rose-dark);display:flex;font-size:12px;gap:7px;margin:18px 0 0}.booking-error{background:#f5e1de;color:#a54c44;font-size:12px;line-height:1.5;padding:10px 12px}.confirmation{text-align:center}.success-icon{align-items:center;background:#d7e0d3;border-radius:50%;color:#557052;display:flex;height:64px;justify-content:center;margin:0 auto 28px;width:64px}.confirmation .modal-lead{margin-left:auto;margin-right:auto;max-width:330px}.confirmation-details{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:28px 0;padding:14px 0;text-align:left}.confirmation-details p{display:flex;justify-content:space-between;margin:10px 0}.confirmation-details span{color:var(--muted);font-size:11px}.confirmation-details strong{font-size:12px;font-weight:500;text-align:right}@media (max-width: 800px){.site-header{height:76px;padding:0 20px}.brand img{height:46px;width:140px}.main-nav{background:var(--paper);box-shadow:0 15px 25px #322a2614;display:none;flex-direction:column;gap:22px;left:0;margin:0;padding:24px;position:absolute;right:0;top:76px}.main-nav.is-open{display:flex}.header-cta{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 24px 58px}.hero-visual{min-height:390px}.intro-strip{font-size:14px;gap:15px;justify-content:flex-start;overflow:hidden;white-space:nowrap}.intro-strip p:nth-of-type(2),.intro-strip span:nth-of-type(2){display:none}.section-heading{align-items:start;flex-direction:column;gap:22px}.service-grid{grid-template-columns:1fr}.service-image{height:280px}.story-section,.visit-card,.contact-section{grid-template-columns:1fr}.story-image{height:420px}.story-copy{order:-1}.story-section{gap:45px}.menu-items{grid-template-columns:1fr;padding-left:0}.map-visual{min-height:360px}.site-footer{align-items:flex-start;flex-direction:column;gap:30px}.footer-links{flex-wrap:wrap;gap:18px}.modal-content{padding:38px 26px 32px}.modal-topline{padding-left:26px;padding-right:26px}.progress{margin-left:26px;margin-right:26px}.date-picker{grid-template-columns:1fr}.category-tabs{flex-wrap:wrap}}@media (max-width: 480px){h1{font-size:53px}.hero-badge{bottom:18px;right:18px}.form-row,.booking-form{grid-template-columns:1fr}.full-field,.booking-form .full-field{grid-column:auto}.birthday-field>div{max-width:200px}.modal-actions .primary-button{padding-left:14px;padding-right:14px}.service-footer button{padding:8px 0}.story-stamp{right:12px}.visit-copy{padding:45px 28px}}.app-loading{align-items:center;background:var(--paper);display:flex;height:100vh;justify-content:center;width:100%}.loader{animation:spin 1s linear infinite;border:3px solid var(--line);border-radius:50%;border-top-color:var(--rose-dark);height:40px;width:40px}@keyframes spin{to{transform:rotate(360deg)}}.admin-login-page{align-items:center;background:linear-gradient(135deg,#f1e9e3,#e5d6ce);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #342a261f;display:grid;grid-template-columns:1fr 1fr;max-width:820px;overflow:hidden;width:100%}.admin-login-brand{align-items:center;background:var(--ink);color:#f0e0d8;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px 40px;text-align:center}.admin-login-brand img{filter:brightness(0) invert(1);height:56px;-o-object-fit:contain;object-fit:contain;width:170px}.admin-login-brand p{font-family:Playfair Display,serif;font-size:16px;font-style:italic;margin:0}.admin-login-form-wrap{padding:48px 44px}.admin-login-eyebrow{color:var(--rose-dark);font-size:11px;letter-spacing:.15em;margin:0 0 8px;text-transform:uppercase}.admin-login-form-wrap h2{font-size:32px;margin-bottom:28px}.admin-login-form{display:flex;flex-direction:column;gap:16px}.admin-input-wrap{align-items:center;background:#f7f2ef;border:1px solid var(--line);border-radius:10px;display:flex;gap:12px;padding:14px 16px;transition:border-color .2s}.admin-input-wrap:focus-within{border-color:var(--rose-dark)}.admin-input-wrap svg{color:var(--muted);flex-shrink:0}.admin-input-wrap input{background:none;border:0;color:var(--ink);flex:1;font-size:14px;outline:0}.admin-login-error{background:#f5e1de;border-radius:8px;color:#a54c44;font-size:13px;padding:10px 14px}.admin-login-button{align-items:center;background:var(--ink);border:0;border-radius:10px;color:#fff;display:flex;font-size:13px;gap:10px;justify-content:center;letter-spacing:.08em;margin-top:8px;padding:15px;text-transform:uppercase;transition:background .2s}.admin-login-button:hover{background:var(--rose-dark)}.admin-login-button:disabled{opacity:.6}.admin-login-toggle{background:none;border:0;color:var(--rose-dark);font-size:12px;margin-top:20px;padding:0;text-align:center;width:100%}.admin-login-toggle:hover{text-decoration:underline}.admin-login-hint{align-items:center;background:#f7f2ef;border-radius:8px;color:var(--muted);display:flex;font-size:11px;gap:8px;margin-top:24px;padding:12px 14px}.admin-login-hint svg{color:var(--rose);flex-shrink:0}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{background:var(--ink);color:#d6c6be;display:flex;flex-direction:column;min-width:240px;padding:24px 0;position:fixed;top:0;bottom:0;left:0;width:240px;z-index:20}.admin-sidebar-brand{align-items:center;display:flex;gap:10px;margin-bottom:32px;padding:0 24px}.admin-sidebar-brand img{filter:brightness(0) invert(1);height:36px;-o-object-fit:contain;object-fit:contain;width:110px}.admin-sidebar-brand span{color:#f0e0d8;font-family:Playfair Display,serif;font-size:14px;font-style:italic}.admin-sidebar-nav{display:flex;flex:1;flex-direction:column;gap:2px;overflow-y:auto;padding:0 12px}.admin-sidebar-nav button{align-items:center;background:none;border:0;border-radius:8px;color:#b0a39c;display:flex;font-size:13px;gap:12px;padding:11px 14px;text-align:left;transition:.15s}.admin-sidebar-nav button:hover{background:#ffffff0f;color:#f0e0d8}.admin-sidebar-nav button.active{background:var(--rose-dark);color:#fff}.admin-sidebar-logout{align-items:center;background:none;border:0;color:#b0a39c;display:flex;font-size:13px;gap:12px;margin-top:auto;padding:12px 14px}.admin-sidebar-logout:hover{color:#f0e0d8}.admin-main{display:flex;flex:1;flex-direction:column;margin-left:240px;min-width:0}.admin-topbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:16px;padding:16px 32px}.admin-menu-btn{background:none;border:0;display:none;flex-direction:column;gap:4px}.admin-menu-btn span{background:var(--ink);border-radius:2px;display:block;height:3px;width:22px}.admin-topbar-title{align-items:center;display:flex;gap:10px}.admin-topbar-title h1{font-family:DM Sans,sans-serif;font-size:18px;font-weight:600;margin:0}.admin-topbar-title svg{color:var(--rose-dark)}.admin-topbar-user{align-items:center;display:flex;gap:10px;margin-left:auto}.admin-topbar-user>span:first-child{color:var(--ink);font-size:13px;font-weight:500}.admin-role-badge{background:#f1e6df;border-radius:6px;color:var(--rose-dark);font-size:10px;letter-spacing:.06em;padding:4px 10px;text-transform:uppercase}.admin-content{flex:1;overflow-y:auto;padding:32px}.admin-page{display:flex;flex-direction:column;gap:24px}.admin-cards-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.admin-stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;gap:16px;padding:20px}.admin-stat-icon{align-items:center;border-radius:10px;display:flex;height:48px;justify-content:center;width:48px}.admin-stat-rose .admin-stat-icon{background:#f1e6df;color:var(--rose-dark)}.admin-stat-green .admin-stat-icon{background:#e3ede0;color:#557052}.admin-stat-blue .admin-stat-icon{background:#dde6f0;color:#4a6a9a}.admin-stat-amber .admin-stat-icon{background:#f5ecdb;color:#9a7a3a}.admin-stat-info{display:flex;flex-direction:column;justify-content:center}.admin-stat-value{font-family:Playfair Display,serif;font-size:26px;font-weight:500}.admin-stat-label{color:var(--muted);font-size:12px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.admin-panel-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:18px 24px}.admin-panel-header h2{font-size:18px;font-weight:600;margin:0}.admin-panel-count{color:var(--muted);font-size:12px}.admin-panel-desc{color:var(--muted);font-size:13px;margin:0;padding:16px 24px 0}.admin-empty-state{align-items:center;color:var(--muted);display:flex;font-size:14px;justify-content:center;padding:60px 24px;text-align:center}.admin-empty-inline{color:var(--muted);font-size:13px;padding:16px 0}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.06em;padding:14px 24px;text-align:left;text-transform:uppercase}.admin-table td{border-top:1px solid var(--line);font-size:13px;padding:14px 24px}.admin-table tbody tr:hover{background:#faf8f6}.admin-cell-name small{color:var(--muted);display:block;font-size:11px;margin-top:3px}.admin-cell-price{font-family:Playfair Display,serif;font-weight:500}.admin-cell-time{font-weight:500;white-space:nowrap}.admin-cell-date{color:var(--muted);white-space:nowrap}.admin-cell-phone{align-items:center;display:flex;gap:6px}.admin-cell-services{color:var(--muted);font-size:12px;max-width:200px}.admin-cell-low{color:#a54c44;font-weight:500}.admin-cell-code{font-family:Playfair Display,serif;font-weight:500}.admin-cell-code small{color:var(--muted);display:block;font-family:DM Sans,sans-serif;font-size:11px;font-weight:400;margin-top:3px}.admin-cell-actions{display:flex;gap:8px}.admin-cell-actions button{align-items:center;background:#f7f2ef;border:0;border-radius:6px;color:var(--muted);display:flex;height:32px;justify-content:center;transition:.15s;width:32px}.admin-cell-actions button:hover{background:var(--rose-dark);color:#fff}.admin-row-btn{background:#f1e6df;border:0;border-radius:6px;color:var(--rose-dark);font-size:12px;padding:6px 14px}.admin-row-btn:hover{background:var(--rose-dark);color:#fff}.admin-status{border-radius:6px;font-size:11px;padding:4px 10px;text-transform:uppercase;letter-spacing:.04em}.admin-status-scheduled{background:#f5ecdb;color:#9a7a3a}.admin-status-confirmed{background:#dde6f0;color:#4a6a9a}.admin-status-in_service{background:#e3ede0;color:#557052}.admin-status-completed{background:#e3ede0;color:#3d5a3a}.admin-status-cancelled,.admin-status-no_show{background:#f5e1de;color:#a54c44}.admin-toggle-pill{border-radius:20px;cursor:pointer;font-size:11px;padding:4px 12px}.admin-toggle-pill.active{background:#e3ede0;color:#557052}.admin-toggle-pill.inactive{background:#f0eeed;color:var(--muted)}.admin-role-tag{background:#f1e6df;border-radius:6px;color:var(--rose-dark);font-size:11px;padding:3px 10px}.admin-toolbar{align-items:center;display:flex;gap:16px}.admin-view-switcher{display:flex;gap:4px}.admin-view-switcher button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;padding:8px 16px;transition:.15s}.admin-view-switcher button.active,.admin-view-switcher button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.admin-date-nav{align-items:center;display:flex;gap:12px}.admin-date-nav button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;height:36px;justify-content:center;transition:.15s;width:36px}.admin-date-nav button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.admin-date-nav span{color:var(--ink);font-size:14px;font-weight:500;min-width:180px;text-align:center;text-transform:capitalize}.admin-search-bar{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;padding:10px 16px;width:100%;max-width:400px}.admin-search-bar svg{color:var(--muted)}.admin-search-bar input{background:none;border:0;color:var(--ink);flex:1;font-size:13px;outline:0}.admin-add-btn{align-items:center;background:var(--ink);border:0;border-radius:8px;color:#fff;display:flex;font-size:13px;gap:8px;padding:10px 18px;transition:background .2s}.admin-add-btn:hover{background:var(--rose-dark)}.admin-add-btn:disabled{opacity:.5}.admin-modal-backdrop{align-items:center;background:#261d1a80;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:50}.admin-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-height:90vh;max-width:540px;overflow:auto;padding:36px;position:relative;width:100%}.admin-modal-wide{max-width:680px}.admin-modal-close{background:#f7f2ef;border:0;border-radius:50%;color:var(--muted);height:36px;position:absolute;right:16px;top:16px;width:36px}.admin-modal-close:hover{background:var(--rose-dark);color:#fff}.admin-modal h2{font-size:24px;margin-bottom:24px}.admin-modal-header h2{margin-bottom:8px}.admin-modal-header p{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:6px;margin:4px 0}.admin-client-birthday{color:var(--rose-dark)!important;font-size:12px!important}.admin-client-stats{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin:24px 0}.admin-client-stats>div{background:#f7f2ef;border-radius:10px;padding:16px;text-align:center}.admin-client-stats span{color:var(--muted);display:block;font-size:11px;margin-bottom:6px}.admin-client-stats strong{font-family:Playfair Display,serif;font-size:20px}.admin-modal-section{margin-top:24px}.admin-modal-section h3{font-size:15px;font-weight:600;margin:0 0 12px}.admin-form{display:flex;flex-direction:column;gap:16px}.admin-form label{color:var(--muted);display:block;font-size:12px;font-weight:500}.admin-form input,.admin-form select,.admin-form textarea{background:#f7f2ef;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:block;font-size:14px;margin-top:6px;padding:11px 14px;width:100%}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--rose-dark);outline:0}.admin-form textarea{resize:vertical}.admin-form-row{display:grid;gap:16px;grid-template-columns:1fr 1fr}.admin-form-field{margin-bottom:4px}.admin-form-label{color:var(--muted);display:block;font-size:12px;font-weight:500;margin-bottom:8px}.admin-checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}.admin-check-chip{align-items:center;background:#f7f2ef;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:flex;gap:6px;padding:8px 14px;transition:.15s}.admin-check-chip input{accent-color:var(--rose-dark)}.admin-check-chip.selected{background:#f1e6df;border-color:var(--rose-dark)}.admin-check-chip span{font-size:13px}.admin-check{align-items:center;display:flex;gap:8px}.admin-check input{accent-color:var(--rose-dark);height:18px;width:18px}.admin-check span{color:var(--ink);font-size:14px}.admin-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.admin-btn-primary{background:var(--ink);border:0;border-radius:8px;color:#fff;font-size:13px;padding:12px 24px;transition:background .2s}.admin-btn-primary:hover{background:var(--rose-dark)}.admin-btn-primary:disabled{opacity:.5}.admin-btn-secondary{background:#f7f2ef;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:13px;padding:12px 24px}.admin-btn-secondary:hover{background:var(--line)}.admin-btn-block{width:100%}.admin-comm-input{background:#f7f2ef;border:1px solid var(--line);border-radius:6px;font-size:13px;padding:6px 10px;width:70px}.admin-comm-suffix{color:var(--muted);font-size:12px;margin-left:4px}.admin-checkout{display:flex;flex-direction:column;gap:20px}.admin-checkout-section{display:flex;flex-direction:column;gap:10px}.admin-checkout-section h3{font-size:14px;font-weight:600;margin:0}.admin-checkout-section h3 small{color:var(--muted);font-weight:400}.admin-checkout-line{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.admin-checkout-line span{align-items:center;display:flex;gap:8px;font-size:13px}.admin-checkout-line span button{align-items:center;background:#f5e1de;border:0;border-radius:50%;color:#a54c44;display:flex;height:20px;justify-content:center;width:20px}.admin-checkout-line b{font-family:Playfair Display,serif;font-weight:500}.admin-product-picker{display:flex;flex-direction:column;gap:8px}.admin-product-list{display:flex;flex-wrap:wrap;gap:8px}.admin-product-pick{align-items:center;background:#f7f2ef;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;text-align:left;transition:.15s}.admin-product-pick:hover{border-color:var(--rose-dark)}.admin-product-pick:disabled{opacity:.4}.admin-product-pick span{font-size:12px;font-weight:500}.admin-product-pick b{font-family:Playfair Display,serif;font-size:14px}.admin-product-pick small{color:var(--muted);font-size:10px}.admin-checkout-total{align-items:center;background:#f7f2ef;border-radius:10px;display:flex;font-family:Playfair Display,serif;justify-content:space-between;padding:16px 20px}.admin-checkout-total span{font-size:15px}.admin-checkout-total strong{font-size:24px}.admin-payment-methods{display:flex;flex-direction:column;gap:10px}.admin-payment-method{align-items:center;background:#f7f2ef;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;padding:10px 14px}.admin-payment-method svg{color:var(--rose-dark)}.admin-payment-method span{font-size:13px;min-width:90px}.admin-payment-method input{background:#fff;border:1px solid var(--line);border-radius:6px;font-size:14px;flex:1;padding:8px 10px}.admin-payment-status{border-radius:8px;font-size:13px;font-weight:500;padding:10px 14px;text-align:center}.admin-payment-status.complete{background:#e3ede0;color:#557052}.admin-payment-status.incomplete{background:#f5ecdb;color:#9a7a3a}.admin-payment-success{text-align:center}.admin-success-icon{align-items:center;background:#e3ede0;border-radius:50%;color:#557052;display:flex;height:72px;justify-content:center;margin:0 auto 24px;width:72px}.admin-payment-summary{background:#f7f2ef;border-radius:10px;margin:20px 0;padding:20px}.admin-payment-summary p{display:flex;justify-content:space-between;margin:8px 0}.admin-payment-summary span{color:var(--muted);font-size:13px}.admin-payment-summary strong{font-size:14px}.admin-loyalty-form{display:flex;flex-direction:column;gap:20px;padding:24px}.admin-loyalty-form label{color:var(--muted);display:block;font-size:12px;font-weight:500}.admin-loyalty-form input,.admin-loyalty-form textarea{background:#f7f2ef;border:1px solid var(--line);border-radius:8px;font-size:14px;margin-top:6px;padding:11px 14px;width:100%}.admin-loyalty-form textarea{resize:vertical}.admin-loyalty-preview{display:flex;justify-content:center;padding:12px 0}.admin-loyalty-card{align-items:center;background:linear-gradient(135deg,#f1e6df,#e5d6ce);border-radius:16px;display:flex;flex-direction:column;gap:10px;padding:32px 48px;text-align:center}.admin-loyalty-badge{background:var(--rose-dark);border-radius:20px;color:#fff;font-size:11px;letter-spacing:.08em;padding:4px 14px;text-transform:uppercase}.admin-loyalty-card strong{font-family:Playfair Display,serif;font-size:32px}.admin-loyalty-card p{color:var(--muted);font-size:14px;margin:0;max-width:220px}.admin-settings-form{display:flex;flex-direction:column;gap:20px;padding:24px}.admin-settings-form label{color:var(--muted);display:block;font-size:12px;font-weight:500}.admin-settings-form input,.admin-settings-form textarea{background:#f7f2ef;border:1px solid var(--line);border-radius:8px;font-size:14px;margin-top:6px;padding:11px 14px;width:100%}.admin-settings-form textarea{resize:vertical}.admin-reports-grid{display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width: 1024px){.admin-cards-grid{grid-template-columns:repeat(2,1fr)}.admin-reports-grid{grid-template-columns:1fr}}@media (max-width: 768px){.admin-sidebar{transform:translate(-100%);transition:transform .25s}.admin-sidebar.is-open{transform:translate(0)}.admin-sidebar-overlay{background:#0006;top:0;right:0;bottom:0;left:0;position:fixed;z-index:15}.admin-main{margin-left:0}.admin-menu-btn{display:flex}.admin-login-card{grid-template-columns:1fr;max-width:420px}.admin-login-brand{padding:32px}.admin-login-form-wrap{padding:32px 28px}.admin-content{padding:20px 16px}.admin-cards-grid,.admin-form-row,.admin-client-stats{grid-template-columns:1fr}.admin-table th,.admin-table td{padding:12px 16px}}.category-cards{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:32px}.category-card{background:#f2eae5;border:0;padding:0;position:relative;text-align:left;overflow:hidden}.category-card img{display:block;height:170px;-o-object-fit:cover;object-fit:cover;transition:transform .35s;width:100%}.category-card span{background:#342a26db;bottom:0;color:#fff;font-family:Playfair Display,serif;font-size:20px;left:0;padding:14px 16px;position:absolute;right:0}.category-card:hover img,.category-card.active img{transform:scale(1.05)}.category-card.active{outline:3px solid var(--rose-dark);outline-offset:-3px}.menu-category-title small{color:var(--muted);font-size:11px;margin-right:16px}.menu-category-title{cursor:pointer;list-style:none}.menu-category-title::-webkit-details-marker{display:none}.menu-category[open] .menu-category-title svg{transform:rotate(180deg)}.menu-item{align-items:center;display:grid;gap:16px;grid-template-columns:110px minmax(0,1fr) auto 62px 20px;width:100%}.menu-item-category{color:var(--rose-dark);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.menu-item>span:nth-child(2){min-width:0}.menu-item>span:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item em{color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}.whatsapp-float{align-items:center;background:#2f8f62;border-radius:50%;bottom:24px;box-shadow:0 8px 25px #2f8f624d;color:#fff;display:flex;height:58px;justify-content:center;position:fixed;right:24px;transition:transform .2s,background .2s;width:58px;z-index:25}.whatsapp-float:hover{background:#237149;color:#fff;transform:translateY(-3px)}.client-lookup-message{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px;grid-column:1 / -1;margin:-6px 0 2px}.client-lookup-message.found{color:#557052}.date-picker-label{color:var(--muted);display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.date-picker-label input{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);display:block;font-size:14px;margin-top:10px;outline:0;padding:10px 0;width:100%}.booking-category-list{display:flex;flex-direction:column;gap:10px;margin-top:28px}.booking-category-option{align-items:center;background:none;border:1px solid var(--line);display:flex;gap:14px;padding:20px 22px;text-align:left;transition:border-color .2s,background .2s;width:100%}.booking-category-option:hover{border-color:var(--rose-dark);background:#f7f2ef}.booking-category-option span{flex:1;font-family:Playfair Display,serif;font-size:20px;font-weight:500}.booking-category-option small{color:var(--muted);font-size:12px}.booking-category-option svg{color:var(--rose-dark)}.modal-category-back{background:none;border:0;color:var(--muted);font-size:12px;letter-spacing:.08em;margin-bottom:8px;padding:0;text-transform:uppercase}.modal-category-back:hover{color:var(--rose-dark)}.no-times{color:var(--muted);font-size:12px;margin:0}.first-visit-message{background:#f1e6df;display:block!important;margin:14px 0 0!important;padding:14px;text-align:center}.first-visit-message strong{color:var(--rose-dark)}.client-found-card{background:#f1e6df;border-radius:10px;margin:4px 0 8px;padding:16px;text-align:center}.client-name-display{color:var(--ink);font-family:Playfair Display,serif;font-size:20px;font-weight:500}.phone-lookup-row{display:flex;gap:10px;align-items:flex-end}.phone-lookup-row input{flex:1}.phone-lookup-btn{background:var(--ink);border:0;color:#fff;font-size:11px;letter-spacing:.1em;padding:11px 18px;text-transform:uppercase;transition:background .2s;white-space:nowrap}.phone-lookup-btn:hover{background:var(--rose-dark)}.admin-cat-photos{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding:20px 24px 24px}.admin-cat-photo-card{display:flex;flex-direction:column;gap:8px}.admin-cat-photo-card>span{font-size:13px;font-weight:500}.admin-cat-photo-img{align-items:center;background:#f7f2ef;color:var(--muted);display:flex;height:130px;justify-content:center;overflow:hidden}.admin-cat-photo-img img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.admin-cat-preview{height:150px;-o-object-fit:cover;object-fit:cover;width:100%}.admin-modal-subtitle{color:var(--muted);font-size:13px;margin:-14px 0 20px}@media (max-width: 800px){.category-cards,.admin-cat-photos{grid-template-columns:repeat(2,1fr)}.menu-item{gap:8px;grid-template-columns:1fr auto 52px 18px}.menu-item-category{display:none}.menu-item>span:nth-child(2) small{white-space:normal}}@media (max-width: 480px){.category-cards{gap:8px}.category-card img{height:120px}.category-card span{font-size:15px;padding:10px}.menu-item{grid-template-columns:minmax(0,1fr) auto}.menu-item em,.menu-item svg{display:none}.whatsapp-float{bottom:16px;right:16px}}
