@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#24213f;--accent:#6851d6;--soft:#eee9ff;--paper:#fcfbff;--line:#e3ddf2}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.6 'DM Sans',sans-serif;background:#faf8ff;padding-bottom:110px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);padding:11px 16px}button:hover{border-color:var(--accent)}button:disabled{opacity:.55;cursor:wait}a{color:var(--accent);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b7a4ff;outline-offset:3px}[hidden]{display:none!important}.ca-aura{position:fixed;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 15% 10%,#ded4ff 0,transparent 38%),radial-gradient(ellipse at 90% 65%,#ffe9ed 0,transparent 40%),radial-gradient(ellipse at 30% 95%,#e8f3dc 0,transparent 40%);animation:float 18s ease-in-out infinite alternate}@keyframes float{to{transform:translate(3%,-4%) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.ca-aura{animation:none}}.ca-header{height:90px;display:flex;align-items:center;gap:14px;padding:14px max(24px,calc((100vw - 1160px)/2));background:#1c1930;color:white;border-bottom:1px solid #fff2}.ca-brand{margin-right:auto;display:flex;align-items:center;gap:20px}.ca-brand img{width:130px;height:53px;object-fit:contain}.ca-brand span{font-size:10px;letter-spacing:3px;color:#e6dbff}.ca-header button{background:#ffffff0e;color:white;border-color:#ffffff26;font-size:12px}main{max-width:1160px;margin:auto;padding:30px 24px}.ca-hero{max-width:740px;padding:35px 0 24px}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(34px,5vw,65px);font-weight:800;margin:12px 0 22px}h1 em{font-style:normal;color:var(--accent)}h2{font-size:25px}h3{font-size:20px}.eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:2px}.ca-hero>p:last-child{max-width:570px;font-size:17px;color:#716985}.ca-search{display:block;background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px #6750940a;border-radius:22px;padding:17px 22px;max-width:750px}.ca-search span{display:block;font-size:11px;font-weight:700;color:#7d7490}.ca-search input{border:0;padding:7px 0;background:transparent;width:100%;font-size:18px;outline-offset:5px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:35px 0 22px}.section-title span{font-size:12px;color:#7b718b}.ca-centres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.centre-card{background:#ffffffd9;border:1px solid white;border-radius:24px;overflow:hidden;box-shadow:0 12px 35px #38234708}.centre-cover{width:100%;height:240px;object-fit:cover}.centre-initial{display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#d4c4ff,#f2eaff);font:800 80px Manrope}.centre-content{padding:22px}.centre-content h2{margin:8px 0;font-size:27px}.centre-content p{color:#766c83;font-size:13px}.centre-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.primary{background:var(--accent);border-color:var(--accent);color:white;font-weight:700}.centre-secondary{font-size:12px;padding:8px 0;border:0;background:transparent;color:var(--accent)}.ca-nav{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);display:flex;width:min(430px,calc(100% - 24px));padding:8px;background:#ffffffed;border:1px solid var(--line);border-radius:23px;box-shadow:0 12px 50px #34215e20;backdrop-filter:blur(18px);z-index:20;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.ca-nav button{flex:1;border:0;background:transparent;font-size:11px;padding:6px}.ca-nav button span{display:block;font-size:23px;line-height:1.3}.ca-nav button.active{background:var(--soft);color:var(--accent);font-weight:700}.ca-panel,.ca-help,.visit-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;margin:22px 0}.ca-panel{max-width:650px}.ca-help{background:#ffffff91;max-width:750px}.ca-help p,.ca-panel p{color:#796f89;font-size:13px}label{display:block;font-size:13px;font-weight:600;margin:15px 0}input,select{display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;margin-top:6px;background:white;color:var(--ink)}input[type=checkbox]{width:auto;display:inline-block;margin:0 8px 0 0}.check{font-size:12px;font-weight:400}.account-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}details{width:100%}summary{cursor:pointer}.danger{color:#9c2445}.ca-tabs{display:flex;gap:10px;margin:26px 0}.ca-tabs button[aria-pressed=true]{background:var(--accent);color:white}.visit-card{display:grid;grid-template-columns:85px 1fr auto;align-items:center;gap:20px}.visit-date{background:var(--soft);padding:15px 10px;text-align:center;border-radius:16px;font-weight:700;color:var(--accent)}.visit-card h3{margin:5px 0}.visit-card p{margin:4px 0;color:#766c83;font-size:13px}.visit-actions{display:flex;gap:8px}.status-pill{display:inline-block;background:var(--soft);padding:3px 9px;border-radius:8px;font-size:11px}.empty{text-align:center;padding:45px 20px;background:#ffffff80;border:1px dashed #cfc3e5;border-radius:22px;color:#736682}#notice{position:sticky;top:10px;padding:14px 18px;background:var(--ink);color:white;border-radius:13px;z-index:25;font-size:13px}dialog{width:min(680px,94vw);max-height:90dvh;border:1px solid var(--line);border-radius:24px;padding:26px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#21183299;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-head button{padding:3px 12px;border:0;background:transparent;font-size:26px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-grid label{margin:0}.slots{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.slots button.selected{background:var(--accent);color:white}.booking-summary{padding:18px;background:var(--soft);border-radius:16px;margin:18px 0}.booking-summary p{margin:5px 0}#booking-status,#login-status{font-size:13px;color:#8b3557}body[data-assistant-mode=customer] .va-open{bottom:calc(105px + env(safe-area-inset-bottom))!important;background:var(--accent)!important;right:20px!important}.maison-client{--accent:#927040;--ink:#392c22;--soft:#f1e6d5;--paper:#fffaf3;background:#fcf7ee}.maison-client .ca-header{background:#f9f2e6;color:#392c22;border-color:#e3d4bb}.maison-client .ca-header button{color:#392c22;border-color:#ddc9aa}.maison-client .ca-brand img{width:68px;height:68px}.maison-client .ca-brand span{color:#85683d}.maison-client .ca-aura{background:radial-gradient(ellipse at 15% 10%,#ead0a8,transparent 40%),radial-gradient(ellipse at 90% 65%,#f3d9ce,transparent 40%)}@media(max-width:900px){.ca-centres{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-card{grid-template-columns:70px 1fr}.visit-actions{grid-column:2}}@media(max-width:600px){.ca-header{height:76px;padding:12px 18px;gap:8px}.ca-brand{gap:8px}.ca-brand img{width:100px}.ca-brand span{display:none}.ca-header button{padding:8px 10px;font-size:11px}main{padding:20px 18px}.ca-hero{padding-top:15px}h1{font-size:38px}.ca-centres{grid-template-columns:1fr}.centre-cover{height:250px}.section-title h2{font-size:20px}.ca-panel,.ca-help{padding:20px}.ca-tabs{gap:6px}.ca-tabs button{font-size:12px;padding:10px}.booking-grid{grid-template-columns:1fr}.visit-card{padding:18px;gap:12px}.visit-card h3{font-size:19px}.visit-actions{flex-wrap:wrap}dialog{padding:20px}.ca-search{padding:14px 18px}.ca-search input{font-size:16px}}
.maison-client .ca-search{display:none}.maison-client .ca-hero{padding-bottom:12px}
.visit-actions .visit-change-reason{max-width:260px;padding:12px 14px;background:var(--soft);border-radius:12px;color:var(--ink);line-height:1.5} @media(max-width:600px){.visit-actions .visit-change-reason{max-width:none}}
