:root{--ink: #0e2a2b;--muted: #55696a;--teal: #0b6b66;--teal-d: #07514d;--teal-l: #d6ebe6;--mist: #eaf4f1;--paper: #f7faf9;--white: #ffffff;--line: #d8e5e1;--line-d: #b9cdc8;--amber: #f0a93b;--amber-bg: #fdf1d8;--amber-ink: #7a4b00;--ok: #167a55;--ok-bg: #dff3e9;--err: #b42318;--err-bg: #fde8e6;--info-bg: #e2eefb;--info-ink: #1d4f91;--display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;--body: "Figtree", system-ui, sans-serif;--shadow-lg: 0 24px 60px -24px rgba(7, 81, 77, .35), 0 2px 6px rgba(7, 81, 77, .06);--shadow-sm: 0 1px 2px rgba(14, 42, 43, .06)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;font-family:var(--body);background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.12}h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}h3{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}p{margin:0}a{color:var(--teal)}.ico{flex:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid #7fc4bb;outline-offset:2px;border-radius:6px}.btn{font:inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.2rem;border:1.5px solid var(--teal);border-radius:12px;background:var(--teal);color:#fff;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s}.btn:hover{background:var(--teal-d);border-color:var(--teal-d)}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent;color:var(--teal);border-color:var(--line-d)}.btn.ghost:hover{background:var(--mist);border-color:var(--teal)}.btn.danger{background:transparent;color:var(--err);border-color:#efc2bd}.btn.danger:hover{background:var(--err-bg)}.btn.sm{padding:.4rem .8rem;font-size:.88rem;border-radius:10px}.btn.lg{padding:.95rem 1.4rem;font-size:1.05rem;border-radius:14px}.btn.block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.link{background:none;border:0;color:inherit;cursor:pointer;font:inherit;text-decoration:underline;padding:0}.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .7rem;border-radius:99px;font-size:.82rem;font-weight:600;white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.off{background:var(--amber-bg);color:var(--amber-ink)}.pill.info{background:var(--info-bg);color:var(--info-ink)}.pill.bad{background:var(--err-bg);color:var(--err)}.pill.mute{background:var(--mist);color:var(--muted)}.dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor}.dot.live{box-shadow:0 0 0 0 currentColor;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #167a5573}70%{box-shadow:0 0 0 8px #167a5500}to{box-shadow:0 0 #167a5500}}label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem;color:var(--ink)}label .hint{font-weight:400;color:var(--muted)}input,select,textarea{font:inherit;font-weight:400;padding:.7rem .85rem;border:1.5px solid var(--line-d);border-radius:12px;background:#fff;color:var(--ink);width:100%;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#8fb3ac}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px #0b6b6626}textarea{resize:vertical}.check{flex-direction:row;align-items:flex-start;gap:.65rem;font-weight:500;font-size:.92rem;cursor:pointer;line-height:1.4}.check input{width:1.15rem;height:1.15rem;margin:.1rem 0 0;accent-color:var(--teal);padding:0;flex:none}.err{color:var(--err);font-weight:600;font-size:.92rem;display:flex;gap:.4rem;align-items:center}.muted{color:var(--muted);font-size:.92rem}.stack{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.7rem;align-items:flex-end}.wrapr{flex-wrap:wrap}.between{justify-content:space-between;align-items:center}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem}.site-head{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-head .in{max-width:1160px;margin:0 auto;padding:.7rem 1.25rem;display:flex;align-items:center;gap:1.5rem}.brand{display:flex;align-items:center;gap:.65rem;font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.site-head nav{display:flex;gap:1.4rem;margin-left:auto}.site-head nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:.95rem}.site-head nav a:hover{color:var(--teal)}.site-head .btn{margin-left:.5rem}.wrap{max-width:1160px;margin:0 auto;padding:0 1.25rem}.section{padding:4.5rem 0 0}.section-head{max-width:40rem;margin-bottom:2rem}.section-head p{color:var(--muted);margin-top:.6rem;font-size:1.05rem}.hero-bg{background:radial-gradient(900px 420px at 85% -10%,#cfe8e2 0%,transparent 60%),radial-gradient(600px 380px at -5% 100%,#e6f1ee 0%,transparent 70%),var(--mist);border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:start;padding:3.5rem 0 4rem}.hero .status{margin-bottom:1.25rem}.hero h1{margin-bottom:1.1rem;max-width:14ch}.lead{font-size:1.15rem;color:var(--muted);max-width:46ch}.trust{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.85rem}.trust li{display:flex;gap:.8rem;align-items:center;font-weight:600}.trust .badge{width:2.4rem;height:2.4rem;border-radius:50%;background:#fff;color:var(--teal);display:grid;place-items:center;box-shadow:var(--shadow-sm);border:1px solid var(--line)}.trust small{display:block;font-weight:400;color:var(--muted);font-size:.88rem}.book{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.6rem;box-shadow:var(--shadow-lg)}.book h2{font-size:1.5rem;margin-bottom:.2rem}.book .sub{color:var(--muted);font-size:.95rem;margin-bottom:1.2rem}.group{padding:1.1rem 0;border-top:1px dashed var(--line-d);display:grid;gap:.8rem}.group:first-of-type{border-top:0;padding-top:0}.group-title{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.95rem}.step{width:1.55rem;height:1.55rem;border-radius:50%;background:var(--teal);color:#fff;font-size:.8rem;display:grid;place-items:center;font-weight:700;flex:none}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{font:inherit;font-weight:600;font-size:.92rem;padding:.45rem .85rem;border:1.5px solid var(--line-d);background:#fff;color:var(--ink);border-radius:99px;cursor:pointer;transition:all .15s}.chip:hover{border-color:var(--teal);background:var(--mist)}.chip.on{background:var(--teal);color:#fff;border-color:var(--teal)}.chip.time{border-radius:10px;min-width:5.2rem;text-align:center}.slots-note{background:var(--mist);border-radius:12px;padding:.7rem .9rem;color:var(--muted);font-size:.92rem}.success{text-align:center;padding:1.5rem .5rem}.success .tick{width:4rem;height:4rem;border-radius:50%;background:var(--ok-bg);color:var(--ok);display:grid;place-items:center;margin:0 auto 1rem;animation:pop .35s ease-out}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.success h2{margin-bottom:.5rem}.success .note{margin-top:1rem;background:var(--amber-bg);color:var(--amber-ink);border-radius:12px;padding:.7rem .9rem;font-size:.92rem;font-weight:500}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:s}.flow li{list-style:none;position:relative;padding:1.4rem;background:#fff;border:1px solid var(--line);border-radius:18px}.flow .n{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--teal-l);color:var(--teal-d);font-family:var(--display);font-weight:800;display:grid;place-items:center;margin-bottom:.9rem}.flow p{color:var(--muted);margin-top:.35rem;font-size:.95rem}.flow{padding:0;margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem}.svc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;transition:border-color .15s,transform .15s}.svc:hover{border-color:var(--teal)}.svc .meta{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.prep{background:var(--mist);border-radius:12px;padding:.8rem .95rem;font-size:.93rem;color:var(--ink);margin-top:auto}.prep b{display:block;font-size:.8rem;color:var(--teal-d);margin-bottom:.15rem}.doc{display:flex;gap:1.1rem;background:#fff;border:1px solid var(--line);border-radius:22px 22px 22px 6px;padding:1.4rem}.avatar{width:4rem;height:4rem;border-radius:20px;background:linear-gradient(135deg,var(--teal) 0%,#2c9a8f 100%);color:#fff;font-family:var(--display);font-weight:800;font-size:1.35rem;display:grid;place-items:center;flex:none}.doc .spec{color:var(--teal);font-weight:700;font-size:.92rem;margin:.1rem 0 .5rem}.doc p.bio{color:var(--muted);font-size:.95rem}.assist{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start}.assist .section-head{margin-bottom:0}.chatbox{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm)}.chat-log{padding:1.2rem;display:flex;flex-direction:column;gap:.7rem;min-height:11rem;max-height:24rem;overflow-y:auto;background:var(--paper)}.bubble{max-width:88%;padding:.65rem .95rem;border-radius:16px;font-size:.96rem}.bubble.q{align-self:flex-end;background:var(--teal);color:#fff;border-bottom-right-radius:4px}.bubble.a{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.chat-empty{color:var(--muted);text-align:center;margin:auto;font-size:.95rem}.chat-form{display:flex;gap:.6rem;padding:.9rem;border-top:1px solid var(--line)}.chat-form .btn{flex:none}.chat-chips{padding:.9rem .9rem 0}.safety{display:flex;gap:.6rem;margin-top:1.2rem;font-size:.9rem;color:var(--muted)}.site-foot{margin-top:5rem;background:var(--ink);color:#cfe0dd}.site-foot .in{max-width:1160px;margin:0 auto;padding:3.5rem 1.25rem 2.5rem;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem}.site-foot h2{color:#fff;font-size:1.6rem;margin-bottom:1rem}.site-foot h3{color:#fff;margin-bottom:.8rem}.site-foot a{color:#fff}.site-foot .line{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.8rem}.site-foot .ico{color:var(--amber);margin-top:.2rem}.hours{width:100%;border-collapse:collapse}.hours td{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.hours td:last-child{text-align:right}.hours tr.today td{color:#fff;font-weight:700}.hours tr.today td:first-child:after{content:"Today";margin-left:.6rem;font-size:.72rem;background:var(--amber);color:#3a2400;padding:.1rem .5rem;border-radius:99px;font-weight:700}.legal{max-width:1160px;margin:0 auto;padding:1.2rem 1.25rem 2rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;color:#93aba7}.callbar{display:none}.center-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(700px 400px at 80% 0%,#cfe8e2,transparent 60%),var(--mist)}.panel-card{width:100%;max-width:460px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:2rem;box-shadow:var(--shadow-lg)}.panel-card .brand{margin-bottom:1.6rem}.panel-card h1{font-size:1.9rem;margin-bottom:.4rem}.appt-when{display:flex;gap:1rem;align-items:center;margin:1.3rem 0;padding:1rem;background:var(--mist);border-radius:16px}.datebox{width:4.2rem;flex:none;text-align:center;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.datebox span{display:block;background:var(--teal);color:#fff;font-size:.72rem;font-weight:700;padding:.15rem 0}.datebox b{display:block;font-family:var(--display);font-size:1.7rem;line-height:1.3}.appt-when .t{font-weight:700;font-size:1.1rem}.rows2{display:grid;gap:.5rem;margin-bottom:1.2rem}.rows2 div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:.5rem}.rows2 span{color:var(--muted)}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.login .side{background:linear-gradient(160deg,var(--teal-d),#0b6b66 60%,#1d8c80);color:#fff;padding:3rem;display:flex;flex-direction:column;justify-content:space-between}.login .side h1{font-size:clamp(2rem,3.5vw,3rem);max-width:13ch}.login .side p{color:#c6e3de;max-width:38ch;margin-top:1rem;font-size:1.05rem}.login .side .brand{color:#fff}.login .side ul{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.8rem}.login .side li{display:flex;gap:.7rem;align-items:center;color:#e4f3f0;font-weight:500}.login .form{display:grid;place-items:center;padding:2rem}.login .form form{width:100%;max-width:380px}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.side-nav{background:var(--ink);color:#cfe0dd;padding:1.3rem 1rem;display:flex;flex-direction:column;gap:.3rem;position:sticky;top:0;height:100vh}.side-nav .brand{color:#fff;margin:0 .5rem 1.4rem;font-size:1.05rem}.side-nav button.nav{font:inherit;font-weight:600;display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border:0;border-radius:12px;background:none;color:#b5cbc7;cursor:pointer;text-align:left;transition:background .15s,color .15s}.side-nav button.nav:hover{background:#ffffff12;color:#fff}.side-nav button.nav.on{background:var(--teal);color:#fff}.side-nav .who{margin-top:auto;padding:.9rem .6rem 0;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:.7rem;font-size:.9rem}.side-nav .who .avatar{width:2.4rem;height:2.4rem;border-radius:12px;font-size:.95rem}.side-nav .who button{color:#9fb8b3;font-size:.82rem}.main{padding:2rem 2.2rem 4rem;max-width:1060px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.page-head h1{font-size:1.9rem}.page-head p{color:var(--muted);margin-top:.2rem}.mobile-top{display:none}.item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem;margin-bottom:.8rem;display:grid;gap:.7rem;border-left:5px solid var(--line-d)}.item.s-new{border-left-color:var(--amber)}.item.s-contacted{border-left-color:#4a86d4}.item.s-booked,.item.s-confirmed,.item.s-attended,.item.s-done{border-left-color:var(--ok)}.item.s-cancelled,.item.s-no_show{border-left-color:#d9534f}.item.s-due{border-left-color:var(--amber)}.item h3{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.line-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;color:var(--muted);font-size:.93rem;align-items:center}.line-meta a{font-weight:700;text-decoration:none;display:inline-flex;gap:.35rem;align-items:center}.quote{background:var(--paper);border-radius:10px;padding:.6rem .8rem;font-size:.93rem}.controls{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap;padding-top:.7rem;border-top:1px dashed var(--line)}.controls label{font-size:.8rem;color:var(--muted)}.controls select{padding:.45rem .6rem;font-size:.9rem;width:auto;min-width:8.5rem;border-radius:10px}.controls .push{margin-left:auto}.panel{background:var(--mist);border:1px solid var(--line);border-radius:18px;padding:1.2rem;margin:.4rem 0 1.1rem}.empty{text-align:center;padding:3rem 1rem;background:#fff;border:1.5px dashed var(--line-d);border-radius:18px;color:var(--muted)}.empty .ico{color:var(--teal);margin-bottom:.6rem}.empty b{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:.2rem}.day-head{font-family:var(--display);font-weight:700;margin:1.6rem 0 .6rem;display:flex;align-items:center;gap:.8rem}.day-head:after{content:"";flex:1;height:1px;background:var(--line)}.appt{grid-template-columns:5.5rem 1fr;align-items:start;gap:1rem}.appt .time{font-family:var(--display);font-weight:800;font-size:1.25rem;line-height:1.2}.appt .time small{display:block;font-family:var(--body);font-weight:500;font-size:.8rem;color:var(--muted)}.two{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.two h2{font-size:1.2rem;margin-bottom:.9rem}.mini{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;margin-bottom:.6rem}.stat-group{margin-bottom:1.8rem}.stat-group h2{font-size:1.05rem;margin-bottom:.7rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem}.stat b{display:block;font-family:var(--display);font-size:2.1rem;line-height:1.1;letter-spacing:-.03em}.stat span{color:var(--muted);font-size:.88rem}.stat.hl{background:var(--teal);border-color:var(--teal);color:#fff}.stat.hl span{color:#c6e3de}.stat.warn b{color:var(--err)}.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.25rem;gap:.2rem;flex-wrap:wrap}.seg button{font:inherit;font-weight:600;font-size:.9rem;border:0;background:none;padding:.4rem .85rem;border-radius:9px;color:var(--muted);cursor:pointer;text-transform:capitalize}.seg button.on{background:var(--teal);color:#fff}.set-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.3rem;margin-bottom:1.2rem}.set-card>h2{font-size:1.15rem;margin-bottom:.2rem}.set-card>.muted{margin-bottom:1rem}.edit-row{display:grid;gap:.7rem;padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:.7rem;position:relative}.edit-row .rm{position:absolute;top:.6rem;right:.6rem}.hours-edit{display:grid;gap:.5rem}.hours-edit .h{display:grid;grid-template-columns:7rem 1fr 1fr auto;gap:.7rem;align-items:center}.hours-edit .h b{font-size:.95rem}.save-bar{position:sticky;bottom:0;background:#f7faf9f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:.9rem 0;display:flex;gap:1rem;align-items:center}.toast{font-weight:600}.toast.ok{color:var(--ok)}.toast.bad{color:var(--err)}@media (max-width: 1000px){.app{grid-template-columns:1fr}.side-nav{display:none}.mobile-top{display:block;position:sticky;top:0;z-index:15;background:var(--ink);color:#fff}.mobile-top .bar{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem}.mobile-top .brand{color:#fff;font-size:1rem}.mobile-top .link{color:#9fb8b3;font-size:.9rem}.mobile-top nav{display:flex;overflow-x:auto;gap:.3rem;padding:0 .7rem .6rem}.mobile-top nav button{font:inherit;font-weight:600;font-size:.9rem;display:flex;gap:.4rem;align-items:center;border:0;background:#ffffff14;color:#cfe0dd;padding:.5rem .8rem;border-radius:99px;white-space:nowrap;cursor:pointer}.mobile-top nav button.on{background:var(--teal);color:#fff}.main{padding:1.3rem 1rem 3rem}}@media (max-width: 860px){.hero,.assist,.site-foot .in,.two,.login{grid-template-columns:1fr}.hero{gap:2.2rem;padding:2.2rem 0 2.8rem}.login .side{display:none}.flow{grid-template-columns:1fr}.site-head nav{display:none}.site-head .btn{margin-left:auto}.section{padding-top:3.2rem}.callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;gap:.6rem;padding:.7rem .9rem calc(.7rem + env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.callbar .btn{flex:1}.site-foot{padding-bottom:4.5rem}.hours-edit .h{grid-template-columns:1fr 1fr}.hours-edit .h b{grid-column:1 / -1}.appt{grid-template-columns:1fr;gap:.4rem}.appt .time small{display:inline;margin-left:.5rem}}@media (max-width: 480px){.book{padding:1.2rem;border-radius:20px}.doc{flex-direction:column}.controls .push{margin-left:0}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.banner{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;background:var(--amber-bg);color:var(--amber-ink);border-radius:12px;padding:.7rem 1rem;margin-bottom:1.2rem;font-weight:600}.banner .link{color:var(--amber-ink);font-weight:700}.notice{background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:.7rem 1rem;margin-bottom:1rem;font-weight:600;word-break:break-word}.legal a{color:#cfe0dd}
