@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17343e;--muted:#667d85;--teal:#087e79;--mint:#d5f1e8;--cream:#f6f8f5;--line:#dae4e1;--white:#fff;--danger:#b43d49;--shadow:0 16px 55px rgba(21,47,56,.065)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:15px/1.5 'DM Sans',system-ui,Arial,sans-serif;background:var(--cream);color:var(--ink);margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.56;cursor:not-allowed}a{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,system-ui,Arial,sans-serif;line-height:1.18;letter-spacing:-.04em}.site-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(25px,calc((100vw - 1190px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.91);gap:15px}.wordmark{font-size:23px;font-weight:800;text-decoration:none;letter-spacing:-.07em;white-space:nowrap}.wordmark-icon{background:var(--teal);color:#fff;display:inline-grid;place-items:center;width:33px;height:33px;border-radius:10px;font-size:20px;margin-right:5px;letter-spacing:0}.wordmark-period{color:#16ad97}.header-actions{display:flex;gap:9px;align-items:center}.mode-pill,.eyebrow,.section-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--teal);text-transform:uppercase}.mode-pill{border-radius:100px;padding:6px 11px;background:#e7f4ee}.btn{border:1px solid transparent;border-radius:10px;padding:11px 17px;font-size:13px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;transition:transform .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-dark{background:#17383f;color:#fff}.btn-teal{background:#05877c;color:#fff}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-light{background:#eff9f5;color:#08796f}.btn-danger{background:#fff3f3;color:var(--danger);border-color:#f2d4d5}.btn-small{padding:7px 10px;font-size:11px}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.hero{width:min(1050px,calc(100% - 40px));margin:0 auto;padding:85px 0 75px;text-align:center}.hero-tag{display:inline-block;background:#e4f4eb;color:#188373;border:1px solid #cfe6dd;padding:7px 13px;font-size:10px;border-radius:999px;font-weight:800;letter-spacing:.12em;margin-bottom:19px}.hero h1{font-size:clamp(38px,5.6vw,68px);max-width:790px;margin:0 auto 18px;letter-spacing:-.07em}.hero h1 em{font-style:normal;color:var(--teal)}.hero p{font-size:17px;color:var(--muted);max-width:600px;margin:0 auto 25px}.hero-ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.hero-foot{margin-top:19px!important;font-size:12px!important}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 auto 75px}.feature,.panel,.stat,.booking-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.feature{padding:25px}.feature-icon{width:42px;height:42px;display:grid;place-items:center;background:#eaf7f2;border-radius:12px;color:var(--teal);font-size:21px;margin-bottom:18px}.feature h3{font-size:17px;margin-bottom:10px}.feature p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.footer{padding:18px max(25px,calc((100vw - 1190px)/2));display:flex;justify-content:space-between;gap:20px;color:#819199;font-size:11px;border-top:1px solid var(--line);background:#fff}.page{width:min(1160px,calc(100% - 40px));margin:39px auto 55px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:22px}.page-heading h1{font-size:clamp(28px,4vw,39px);margin:7px 0 7px}.page-heading p{color:var(--muted);font-size:14px;margin:0}.panel{padding:25px;margin-bottom:16px}.panel h2{font-size:19px;margin:0 0 8px}.panel .secondary,.muted{color:var(--muted)}.split{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:start}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-size:12px;font-weight:800;color:#435d65}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid #cfded9;border-radius:9px;background:#fff;outline:none;font-size:14px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#0c9287;box-shadow:0 0 0 3px #e0f4ed}.field textarea{resize:vertical}.field small{color:var(--muted)}.full{width:100%}.auth-panel{width:min(435px,calc(100% - 32px));margin:60px auto 100px;padding:35px}.auth-panel .wordmark{display:inline-block;margin-bottom:16px}.auth-panel h1{font-size:28px;margin-bottom:6px}.auth-panel p{color:var(--muted);font-size:13px}.auth-links{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:13px 0 0;gap:10px}.link-button{border:0;background:none;color:var(--teal);padding:0;text-decoration:underline;font-weight:700}.app-layout{width:min(1270px,calc(100% - 40px));margin:30px auto 75px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:23px}.app-sidebar{background:#183b44;color:white;padding:22px;border-radius:18px;align-self:start;position:sticky;top:18px}.app-sidebar .wordmark{display:block;color:#fff;font-size:21px;margin-bottom:34px}.app-sidebar .wordmark-icon{width:29px;height:29px}.app-sidebar .nav{display:flex;flex-direction:column;gap:8px}.app-sidebar .nav button{display:block;text-align:left;width:100%;border:0;border-radius:9px;background:transparent;color:#bcd2d3;padding:12px 13px;font-size:13px;font-weight:700}.app-sidebar .nav button.active{background:#315964;color:#fff}.side-note{color:#afc5c5;font-size:11px;margin:28px 0 8px;line-height:1.65}.side-note strong{display:block;color:#fff;font-size:12px}.app-main{min-width:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.stat{padding:20px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:31px;letter-spacing:-.05em;margin-top:10px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.section-head h2{margin:0}.section-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.filters input,.filters select{border:1px solid var(--line);padding:10px 11px;border-radius:9px;min-width:0}.filters input{flex:1;min-width:160px}.filters select{width:160px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#819197;font-weight:800;padding:12px 8px;border-bottom:1px solid var(--line)}td{padding:14px 8px;border-bottom:1px solid #e8edeb;vertical-align:middle}td small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;border-radius:20px;padding:5px 9px;background:#eaf3f1;color:#32635a;font-size:10px;font-weight:800}.badge.pending{background:#fff1dd;color:#9f702c}.badge.declined,.badge.cancelled{background:#f7e8e8;color:#a84c55}.badge.confirmed{background:#e2f6ed;color:#087e5e}.row-actions{display:flex;gap:4px;flex-wrap:wrap;min-width:150px}.empty{padding:30px 10px;text-align:center;color:var(--muted)}.catalogue{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-row{padding:17px 0;border-bottom:1px solid #e7ece8;display:flex;align-items:center;gap:12px}.service-row:last-child{border-bottom:0}.service-row .grow{flex:1;min-width:0}.service-row strong{font-size:13px}.service-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.booking-page{width:min(1100px,calc(100% - 34px));margin:35px auto 65px}.booking-banner{background:#183c43;border-radius:18px;color:#fff;padding:28px 34px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.booking-banner h1{margin:5px 0 8px;font-size:30px}.booking-banner p{color:#bbd8d2;margin:0;font-size:13px}.booking-banner .eyebrow{color:#8bdbc9}.booking-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:start}.service-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:17px 0 22px}.service-option{border:1.5px solid #d6e4de;background:white;text-align:left;border-radius:12px;padding:16px;min-height:128px}.service-option.selected{background:#effbf6;border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.service-option strong{display:block;font-size:14px}.service-option small{color:var(--muted);display:block;margin:8px 0}.service-option .price{color:var(--teal);font-size:15px;font-weight:800}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:13px 0 21px}.slot{border:1px solid var(--line);padding:11px 5px;border-radius:9px;background:#fff;color:var(--ink);font-weight:700;font-size:12px}.slot.selected{background:var(--teal);border-color:var(--teal);color:#fff}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.summary-line{display:flex;justify-content:space-between;gap:8px;margin:14px 0;font-size:13px}.summary-line span{color:var(--muted)}.summary-line strong{text-align:right}.notice{border-radius:10px;padding:13px 15px;font-size:12px;line-height:1.6;background:#edf5f6;color:#315c62;margin:15px 0}.notice.warning{background:#fff7e7;color:#8b651d}.notice.error{background:#fdecec;color:#a03743}.toast{position:fixed;right:20px;bottom:20px;background:#173b42;color:#fff;padding:13px 18px;border-radius:11px;box-shadow:var(--shadow);font-size:13px;z-index:100;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;max-width:400px}.toast.show{opacity:1;transform:translateY(0)}.callout{margin-top:16px;background:#e5f4ed;padding:19px;border-radius:13px}.callout p{color:#42766d;font-size:12px;margin:7px 0 0}.code{font:12px/1.5 Consolas,monospace;background:#eff3f1;padding:8px;border-radius:8px;word-break:break-all}.loading{color:var(--muted);padding:30px}.preview{border:1px solid var(--line);border-radius:12px;padding:14px;background:#f6faf8;margin-top:12px;font-size:12px}.footer a{text-decoration:underline}
@media(max-width:920px){.features{grid-template-columns:1fr}.app-layout{grid-template-columns:1fr}.app-sidebar{position:static;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.app-sidebar .wordmark{margin:0}.app-sidebar .nav{flex-direction:row}.side-note{display:none}.booking-grid,.split{grid-template-columns:1fr}.catalogue{grid-template-columns:1fr}}
@media(max-width:620px){.site-header{height:65px;padding:0 15px}.mode-pill{display:none}.header-actions{gap:5px}.header-actions .btn{padding:8px;font-size:11px}.hero{padding:65px 0 54px}.hero p{font-size:15px}.footer{padding:15px;flex-direction:column;gap:5px}.page,.app-layout{width:calc(100% - 26px)}.page-heading{flex-direction:column;align-items:flex-start}.stats{grid-template-columns:1fr 1fr}.stat:last-child{grid-column:1/-1}.app-sidebar{padding:13px}.app-sidebar .nav{overflow-x:auto;width:100%}.app-sidebar .nav button{white-space:nowrap;padding:10px}.panel{padding:18px}.booking-page{width:calc(100% - 24px);margin-top:15px}.booking-banner{padding:22px}.booking-banner h1{font-size:24px}.service-options{grid-template-columns:1fr}.slot-grid{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:1fr}.auth-panel{margin-top:25px}.catalogue{gap:8px}}
