:root{--brand:#165d52;--ink:#192d2a;--muted:#667570;--paper:#f6f7f2;--line:#e0e5dd}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--brand)}.shell{max-width:1100px;margin:auto;padding:24px 24px 110px}header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px}.identity{display:flex;align-items:center;gap:12px}.logo{background:var(--brand);color:white;border-radius:16px;width:46px;height:46px;display:grid;place-items:center;font-size:23px;font-family:Georgia,serif}.brand{font-weight:750;font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--muted)}h1{font-family:Georgia,serif;font-weight:400;font-size:42px;letter-spacing:-1.4px;margin:12px 0}h2{font-size:19px;margin:0 0 16px}p{line-height:1.5}.muted{color:var(--muted);font-size:14px}.hero{background:var(--brand);color:white;padding:30px;border-radius:24px;margin-bottom:24px;position:relative;overflow:hidden}.hero h1{max-width:600px}.hero .muted,.hero .eyebrow{color:#ffffffb8}.hero:after{content:'✳';position:absolute;right:22px;top:4px;font-size:140px;opacity:.12}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}.stat,.card{background:white;border:1px solid var(--line);border-radius:18px;padding:22px}.stat strong{display:block;font-family:Georgia,serif;font-size:30px;margin-top:8px}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.stack{display:grid;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pill{border-radius:30px;padding:6px 10px;font-size:11px;font-weight:700;background:#edf2ec;color:var(--brand)}.pill.pending{background:#fff1d8;color:#9c660e}.pill.cancelled{background:#fce9e5;color:#a43f32}.pill.completed{background:#e8edf5;color:#496078}.appointment{border-bottom:1px solid var(--line);padding:18px 0}.appointment:last-child{border-bottom:0}.appointment strong{display:block;margin-bottom:4px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.btn{background:var(--brand);color:white;border:0;border-radius:12px;padding:13px 18px;font-weight:650;text-decoration:none;display:inline-block;text-align:center}.btn.secondary{background:#eaf0e9;color:var(--brand)}.btn.light{background:white;color:var(--brand)}.btn.danger{background:#fbece8;color:#a33f30}.btn.small{font-size:12px;padding:9px 12px}.btn.ghost{border:1px solid var(--line);background:transparent;color:var(--ink)}nav{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px;box-shadow:0 8px 35px #172b2620;z-index:5}nav button{border:0;background:transparent;color:var(--muted);padding:12px 20px;border-radius:12px;font-size:13px}nav button.active{background:var(--brand);color:white}label{display:block;font-size:13px;font-weight:650;margin-bottom:16px}input,textarea,select{display:block;margin-top:7px;width:100%;background:#fff;border:1px solid #ccd6cd;border-radius:10px;padding:12px;color:var(--ink);min-height:45px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service{padding:18px;border:1px solid var(--line);border-radius:14px;background:white;cursor:pointer}.service.selected{border:2px solid var(--brand);background:#eef4ee;padding:17px}.slotgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 24px}.slot{padding:12px 4px;border:1px solid var(--line);background:white;border-radius:10px}.slot.selected{background:var(--brand);color:white}.auth{max-width:460px;margin:40px auto}.auth h1{font-size:40px}.notice{background:#fff1d8;color:#80591d;border-radius:12px;padding:12px 16px;font-size:13px;margin-bottom:20px}.empty{text-align:center;padding:35px 15px;color:var(--muted)}.checkdays{display:flex;flex-wrap:wrap;gap:12px}.checkdays label{display:flex;align-items:center;gap:5px}.checkdays input{width:18px;min-height:18px;margin:0}.filter{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.filter .active{background:var(--brand);color:white}#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%);background:#1d302c;color:white;padding:14px 20px;border-radius:14px;display:none;max-width:90%;z-index:30;font-size:14px}.success{max-width:520px;margin:40px auto;text-align:center}.success .symbol{font-size:60px;color:var(--brand)}.bar{margin:24px 0}.footer{text-align:center;color:var(--muted);font-size:12px;margin-top:24px}.linkbox{word-break:break-all;font-size:13px;background:#f2f5ef;padding:14px;border-radius:12px}.auth-switch{display:flex;gap:8px;margin:20px 0}.tableline{padding:16px 0;border-bottom:1px solid var(--line)}dialog{border:0;border-radius:20px;max-width:450px;width:92%;padding:24px}dialog::backdrop{background:#152c2670}.busy{padding:60px;text-align:center}.dot{width:8px;height:8px;border-radius:50%;background:#d5e7a5;display:inline-block;margin-right:6px}
@media(max-width:650px){.shell{padding:20px 18px 110px}h1{font-size:34px}.hero{padding:24px}.grid{grid-template-columns:1fr}.stat,.card{padding:18px}.stat strong{font-size:25px}.stats{gap:8px}.stat .muted{font-size:11px}nav{width:calc(100% - 24px);bottom:12px;justify-content:space-around;gap:0}nav button{padding:12px 9px;font-size:11px}.two{grid-template-columns:1fr}.auth{margin:20px auto}.row{align-items:flex-start}.brand{font-size:16px}.slotgrid{grid-template-columns:repeat(3,1fr)}header .btn{padding:9px 10px;font-size:12px}}
.brand-logo{width:52px;height:52px;object-fit:contain;border-radius:12px;background:white;padding:4px}.hero,.btn,.logo,nav button.active,.slot.selected{color:var(--onbrand,#fff)}.btn.secondary{background:var(--soft,#eaf0e9);color:var(--onsoft,#192d2a)}.hero .muted,.hero .eyebrow{color:inherit;opacity:.82}.hero .btn.light{color:var(--brand)}.editor-section{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.editor-side{align-self:start;position:sticky;top:18px}.editor-side.stack{position:static}.mini-preview{border-radius:16px;padding:18px;border:1px solid var(--line)}.mini-preview .identity{margin-bottom:20px;flex-wrap:wrap}.mini-hero{padding:22px;border-radius:14px}.mini-hero h2{font-family:Georgia,serif;font-weight:400;font-size:26px}.mini-hero p{font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}.mini-button{display:inline-block;border-radius:10px;padding:12px;font-size:12px;font-weight:650;margin-top:16px}.ad-banner{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:24px}.ad-banner a{display:block;text-decoration:none;color:var(--ink)}.ad-banner img{width:100%;max-height:260px;object-fit:contain;background:var(--soft,#eaf0e9);display:block}.ad-copy{padding:22px}.ad-copy h2{margin:10px 0}.ad-copy p{white-space:pre-wrap;font-size:14px}.ad-link{color:var(--brand);font-size:13px;font-weight:700}.inline-check{display:flex;align-items:center;gap:10px}.inline-check input{width:20px;min-height:20px;margin:0}.text-button{border:0;background:transparent;text-decoration:underline;color:inherit;cursor:pointer;font-size:13px;padding:4px}.form-error{font-size:13px;color:#a43f32;margin-bottom:0}.full{width:100%}.block-manager{margin-top:22px}.slot small{display:block;font-size:9px;margin-top:5px}.slot{font-size:13px;min-height:58px}.slot:disabled{opacity:1;cursor:not-allowed}.slot.booked{background:#e8edf5;color:#496078;border-color:#dae2ee}.slot.unavailable{background:#f1f2f0;color:#818b84;border-style:dashed}.slot.available:hover{border-color:var(--brand)}.slotgrid{grid-template-columns:repeat(5,1fr)}nav button{padding:12px 16px}.muted{color:inherit;opacity:.68}input[type=file]{font-size:12px}textarea[name=bookingDescription],textarea[name=bookingPolicy]{line-height:1.5}.hero p{white-space:pre-wrap}
@media(max-width:650px){.slotgrid{grid-template-columns:repeat(4,1fr)}nav button{padding:12px 6px;font-size:10px}.editor-side{position:static}.brand-logo{width:44px;height:44px}.slot small{font-size:8px}.hero h1{overflow-wrap:anywhere}}

.booking-side{display:grid;align-content:start;gap:22px}.portfolio-gallery{margin-top:0}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portfolio-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:white}.portfolio-photo{border:0;padding:0;width:100%;display:block;background:var(--soft,#eaf0e9)}.portfolio-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.portfolio-caption{padding:14px}.portfolio-caption strong{font-size:14px;overflow-wrap:anywhere}.portfolio-caption p{font-size:12px;margin-bottom:12px}.portfolio-caption button{margin-top:12px}.upload-preview{width:100%;max-height:280px;object-fit:contain;border-radius:12px;margin-bottom:20px;background:var(--paper)}.photo-dialog{width:min(92vw,850px);max-width:850px}.photo-dialog>img{width:100%;max-height:65vh;object-fit:contain;border-radius:12px;margin-bottom:20px}.slot.selected{background:var(--brand);color:var(--onbrand,#fff);border-color:var(--brand);opacity:1}.slot small{font-size:10px}.slot s{text-decoration-thickness:2px}.portfolio-photo:focus{outline:3px solid var(--brand);outline-offset:-3px}
@media(max-width:650px){.slot small{font-size:9px}nav button{font-size:10px;padding:12px 5px}.portfolio-grid{gap:10px}.portfolio-caption{padding:11px}}

.google-ad-banner{margin:28px 0;background:white;border:1px solid var(--line);border-radius:18px;padding:20px;min-height:130px}.google-ad-banner .eyebrow{margin-bottom:16px}.google-ad-banner .adsbygoogle{width:100%}.google-ad-banner[hidden]{display:none}
.business-contact{font-size:12px;margin-top:9px;line-height:1.6;font-weight:400}.business-contact address{font-style:normal;white-space:pre-line;max-width:520px}.contact-links{display:flex;gap:6px 16px;flex-wrap:wrap}.contact-links a{overflow-wrap:anywhere;text-decoration:underline}.identity{align-items:flex-start}.identity .brand-logo,.identity .logo{flex-shrink:0}.visit-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.visit-option{border:1px solid var(--line);padding:15px;background:white;border-radius:12px;text-align:left}.visit-option strong{display:block;font-size:13px}.visit-option span{display:block;font-size:11px;margin-top:6px;opacity:.7}.visit-option.selected{border:2px solid var(--brand);padding:14px;background:var(--soft)}.visit-option:disabled{cursor:not-allowed;opacity:.5}.visit-label{margin-top:10px}.visit-badge{display:inline-block;padding:6px 10px;border-radius:7px;font-size:11px;font-weight:750}.visit-badge.house-call{background:#efe6fb;color:#69449b}.visit-badge.walk-in{background:#e6f1ea;color:#315d42}.house-address{font-size:13px;line-height:1.6;padding:12px;background:#f7f2fb;border-radius:10px;white-space:pre-line}.house-address strong{margin-bottom:5px}.mini-preview .business-contact{margin-top:15px}
@media(max-width:650px){header{align-items:flex-start}.identity{min-width:0}.identity>div:last-child{min-width:0}.business-contact{font-size:11px}.contact-links{gap:4px 10px}.business-contact address{max-width:100%}.visit-options{grid-template-columns:1fr 1fr}.visit-option{padding:12px}.visit-option.selected{padding:11px}}

