:root{--green:#163f32;--dark:#10372c;--gold:#d8c58d;--ink:#223e32;--muted:#758075;--line:#e0e5dc;--paper:#f6f7f2;--white:#fff}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:38px;line-height:1.2;letter-spacing:-1px}h2{font-size:23px}h3{font-size:23px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b3a16b;outline-offset:3px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--green);color:#c1d0c1;padding:32px 19px 19px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:244px;z-index:20}.brand{display:flex;gap:12px;align-items:center;color:var(--gold);padding:0 11px 43px}.brand img{width:40px;height:40px}.brand>span{font-family:Georgia,serif;letter-spacing:1.3px;font-size:17px;line-height:1.3}.brand small{display:block;font:10px Arial;letter-spacing:5px;margin-top:6px}.nav-label{font-size:10px;letter-spacing:1.8px;color:#8baa95;padding:0 12px 15px}.nav{display:grid;gap:6px}.nav a{display:flex;align-items:center;gap:13px;padding:12px 15px;font-size:14px;border-radius:6px}.nav a:hover{background:#214b3c}.nav a.active{background:#2c5140;color:#fff;box-shadow:inset 3px 0 var(--gold)}.nav .separator{height:1px;background:#365748;margin:15px 12px}.side-bottom{margin-top:auto;padding-top:35px}.side-note{border:1px solid #45604c;padding:18px;border-radius:8px;font-size:12px;line-height:1.7;color:#adbfad}.side-note b{display:block;color:#e1d9b7;font-size:13px;margin:10px 0 5px}.profile{display:flex;gap:12px;align-items:center;border-top:1px solid #365748;margin-top:22px;padding:22px 5px 0;font-size:14px}.avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#dfd4ac;color:#194535;font:14px Georgia}.profile small{display:block;color:#a0b69f;font-size:12px}.main{grid-column:2;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fcfcf9;font-size:13px}.breadcrumb{display:flex;gap:15px;align-items:center;color:#778576}.breadcrumb b{font-weight:500;color:#294734}.top-actions{display:flex;align-items:center;gap:24px}.link{display:inline-flex;gap:8px;align-items:center;color:#315a41;background:none;border:0;padding:0;font-size:13px;font-weight:600}.topbar .avatar{width:30px;height:30px;font-size:12px}.workspace{max-width:1550px;padding:40px 42px 24px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.eyebrow{color:#8c7a4b;font-size:10px;font-weight:600;letter-spacing:2px;margin-bottom:11px}.subtitle{color:var(--muted);font-size:14px;margin-top:11px}.primary,.secondary,.ghost{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:11px 17px;border-radius:6px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:13px;font-weight:600;min-height:42px;white-space:nowrap}.primary:hover{background:#28583f}.secondary{background:#fff;border-color:#d8dfd3;color:#2b523b}.ghost{background:transparent;border-color:transparent;color:#385540}.notice{display:flex;align-items:center;gap:14px;padding:17px 20px;background:#edf1e4;border:1px solid #dfe5cf;border-radius:8px;margin-bottom:25px;font-size:13px}.notice>svg{color:#718663}.notice p{margin-top:3px;color:#73806a;font-size:12px}.notice .link{margin-left:auto}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metric{padding:22px 23px;border:1px solid var(--line);border-radius:9px;background:#fff}.metric-label{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#6f7d70}.metric-label svg{color:#7b927d}.metric strong{display:block;font-size:33px;font-weight:400;margin:20px 0 8px;letter-spacing:-1px}.metric small{font-size:11px;color:#899185}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden;min-width:0}.panel-head{padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #edf0e8}.panel-head h2{font-size:22px}.panel-body{padding:25px}.pill{font-size:11px;padding:5px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;background:#eff1e8;color:#7b8066;white-space:nowrap}.pill.green{background:#e8f1e8;color:#2c6345}.pill.red{background:#faeae7;color:#a34437}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px 25px;min-height:283px}.empty-icon{display:grid;place-items:center;width:59px;height:59px;border:1px solid #e2e8db;border-radius:50%;background:#f5f7f0;color:#8ca27e;margin-bottom:20px}.empty-icon svg{width:27px;height:27px;stroke-width:1.3}.empty h3{font-size:23px}.empty p{color:#7e897b;font-size:13px;line-height:1.8;max-width:370px;margin:10px 0 20px}.onboard{padding:4px 24px 16px}.onboard-row{display:flex;gap:14px;align-items:flex-start;padding:20px 0;border-bottom:1px solid #edf0e8}.onboard-row:last-child{border:0}.step{width:28px;height:28px;border:1px solid #d9dfd2;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#8b937d;font-size:11px}.onboard-row b{font-size:13px;font-weight:500;display:block}.onboard-row p{font-size:12px;color:#85907e;line-height:1.6;margin:4px 0}.onboard-row a{font-size:12px;color:#335d42}.lower-panel{margin-top:24px}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;padding:24px}.day-card{text-align:center;border:1px solid #e8ece1;border-radius:6px;padding:12px 5px;color:#6f7d6a;font-size:11px}.day-card b{display:block;font-size:19px;font-weight:400;color:#3d573c;margin:8px 0}.day-card.today{background:#edf3e8;border-color:#b1c5a1}.day-card small{font-size:10px}.footer{display:flex;justify-content:space-between;margin-top:32px;color:#969d90;font-size:10px;letter-spacing:1.4px}.footer span{letter-spacing:0;font-size:11px}.mobile-menu{display:none}.stack{display:grid;gap:24px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.muted{color:var(--muted)}.tiny{font-size:12px}.section-copy{font-size:14px;color:#73806a;margin:8px 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#50634b}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.input{width:100%;border:1px solid #dce3d5;background:#fff;color:#263f29;padding:11px 12px;border-radius:5px;min-width:0}.field input,.field select,.input{min-height:43px}.field textarea{min-height:100px;resize:vertical}.field small{color:#86927e;font-size:11px}.form-section{padding:26px;border-bottom:1px solid #e9eddf}.form-section h2{margin-bottom:6px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 26px;background:#fbfcf8;position:sticky;bottom:0}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 26px;overflow:auto}.tabs button{padding:18px 0;border:0;background:transparent;color:#85907e;font-size:13px;white-space:nowrap}.tabs button.active{color:#234b31;box-shadow:inset 0 -2px #426f49}.upload{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #bac9b0;background:#fafbf6;border-radius:6px;padding:30px;text-align:center;gap:10px;cursor:pointer}.upload svg{color:#809770;width:28px;height:28px}.upload p{font-size:13px}.upload small{color:#8b937f;font-size:11px}.upload input{width:auto;max-width:100%;font-size:12px}.photos{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.photos img{height:90px;width:130px;object-fit:cover;border-radius:5px}.check-group{display:flex;gap:10px;flex-wrap:wrap}.check-chip{display:flex;align-items:center;gap:7px;border:1px solid #dce3d5;padding:9px 12px;border-radius:5px;font-size:12px}.check-chip input{accent-color:#285039}.rate-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:25px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-head button{border:1px solid var(--line);background:white;border-radius:4px;padding:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-grid .weekday{text-align:center;font-size:11px;color:#8b957f;padding:8px}.calendar-grid button{height:56px;border:1px solid #e4e9dc;background:#fff;border-radius:5px;font-size:13px;color:#345034}.calendar-grid button.selected{background:#1a5038;border-color:#1a5038;color:#fff}.calendar-grid button.rate{box-shadow:inset 0 -3px #c1af74}.calendar-grid button.blocked{background:#f7e8e4;color:#9a5141}.calendar-grid button:disabled{opacity:.25}.calendar-legend{display:flex;gap:15px;font-size:11px;color:#7e8875;margin-top:16px}.calendar-legend span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:#b7c99f;margin-right:5px}.calendar-legend span:last-child::before{background:#e1b5a5}.pricing-card{padding:20px;background:#f6f8f1;border:1px solid #e4e9d9;border-radius:7px}.pricing-card .field{margin-bottom:14px}.pricing-card h3{font-size:22px;margin-bottom:8px}.badge-note{padding:12px;background:#f2eddf;color:#827349;border-radius:5px;font-size:12px;line-height:1.7}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-weight:500;color:#7c8673;background:#fafbf7;padding:15px 23px;white-space:nowrap}td{padding:19px 23px;border-bottom:1px solid #eef0e8}td small{display:block;color:#8c9485;font-size:11px;margin-top:4px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}.service-card .service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.service-icon{width:39px;height:39px;background:#f0f3e9;border-radius:8px;display:grid;place-items:center}.service-card h3{font-size:22px}.service-card p{font-size:13px;line-height:1.7;color:#7b8772;margin:10px 0 20px}.checklist{font-size:13px;color:#66795e;line-height:2.2;padding-left:19px}.assistant-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:23px}.chat{background:#f4f5ef;padding:25px;min-height:330px;display:flex;flex-direction:column;gap:15px}.bubble{background:white;padding:13px 17px;border-radius:0 12px 12px 12px;max-width:90%;font-size:13px;line-height:1.7;border:1px solid #e4e8dc}.bubble.guest{align-self:flex-end;background:#dfe9d8;border-color:#dfe9d8;border-radius:12px 0 12px 12px}.chat-label{font-size:10px;color:#8b937d;letter-spacing:1px}.chat-prompts{display:flex;gap:8px;flex-wrap:wrap;padding:18px 23px}.chat-prompts button{font-size:11px;border:1px solid #d8e1ce;background:white;border-radius:20px;padding:7px 11px}.guest-site{background:#f7f6ef;min-height:100vh}.guest-nav{display:flex;justify-content:space-between;align-items:center;padding:24px 6%;background:#113c2f;color:#e5dcc0}.guest-nav .brand{padding:0}.guest-nav .row{gap:25px;font-size:13px}.guest-hero{position:relative;height:510px;background:#1d4a38;overflow:hidden}.guest-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}.guest-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,34,22,.7),rgba(8,34,22,.08))}.hero-copy{position:relative;z-index:1;padding:100px 8%;color:#fff;max-width:760px}.hero-copy h1{font-size:64px;line-height:1.05}.hero-copy p{margin:22px 0 28px;color:#e1e6d7;font-size:15px;max-width:340px}.hero-copy .eyebrow{color:#e3d3a1;font-size:11px}.photo-caption{position:absolute;bottom:13px;right:20px;z-index:2;color:#eee;font-size:10px}.guest-content{max-width:1200px;padding:55px 30px;margin:auto}.guest-content .heading h1{font-size:36px}.guest-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.villa-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.villa-card img{height:240px;width:100%;object-fit:cover}.villa-card-body{padding:23px}.villa-card h3{font-size:28px}.villa-card p{font-size:13px;color:#7e8976;margin:8px 0}.guest-footer{display:flex;align-items:center;justify-content:space-between;background:#153e30;color:#c4d0b7;padding:35px 6%;font-size:12px}.guest-footer .brand{padding:0}.status-box{padding:20px;border:1px solid #dfe5d6;border-radius:7px;font-size:13px}.status-box h3{margin-bottom:9px}.status-box p{color:#7c8874}.toggle-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0e5;padding:16px 0;font-size:13px}.toggle-row input{accent-color:#22513a;width:18px;height:18px}.summary-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;font-size:13px;border-bottom:1px solid #eef1e5}.summary-line.total{font-size:18px;padding:18px 0;font-weight:600}.receipt{border:1px solid #dce3d5;padding:30px;background:white}.receipt .brand{justify-content:center;color:#284f38;padding:0 0 25px}.receipt h2{text-align:center;margin-bottom:20px}.payment-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-choices label{padding:16px;border:1px solid #dce3d5;border-radius:6px;font-size:13px;cursor:pointer}.payment-choices label:has(input:checked){background:#f0f5e8;border-color:#7a9768}.payment-choices input{accent-color:#28543b}.payment-choices strong{display:block;font-size:20px;margin:8px 0}.booking-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.form-error{color:#a44736;font-size:13px;padding:10px 0}dialog{border:0;border-radius:11px;padding:0;max-width:min(680px,calc(100vw - 30px));width:680px;max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #142b2b30}dialog::backdrop{background:#0b251f88;backdrop-filter:blur(3px)}.modal-head{padding:25px 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head button{background:#f1f4eb;border:0;border-radius:50%;width:30px;height:30px;font-size:20px;color:#6e7f63}.modal-body{padding:26px}.modal-body p{font-size:14px;color:#7a8771;line-height:1.8;margin-bottom:15px}.modal-body code{font-size:12px;background:#edf0e5;padding:4px 6px;overflow-wrap:anywhere}.modal-body ol{padding-left:20px;font-size:14px;line-height:1.9;color:#5a7050}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 22px;background:#1b4031;color:white;border-radius:8px;z-index:100;box-shadow:0 8px 24px #183b2822;font-size:13px;max-width:calc(100vw - 30px);display:none}#toast.show{display:block}.login-box{max-width:470px;margin:50px auto}.preview-ribbon{background:#e9dfbf;color:#66552c;text-align:center;padding:9px 15px;font-size:12px}.rate-list{max-height:230px;overflow:auto;font-size:12px}.rate-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e2e8d9}.danger-text{color:#a14e3e}.hide{display:none!important}@media(max-width:1200px){.workspace{padding:32px 26px}.topbar{padding:0 26px}.heading{align-items:flex-start}.heading h1{font-size:32px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.metric{padding:18px}.metric-label{font-size:12px}}@media(max-width:1000px){.shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{width:210px;padding:28px 14px 16px}.brand{gap:7px;padding-left:6px}.brand>span{font-size:14px}.brand img{width:33px;height:33px}.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.assistant-grid,.booking-layout{grid-template-columns:1fr}.heading{flex-direction:column}.side-note{padding:12px}.service-grid{gap:12px}.rate-layout{grid-template-columns:1fr}.hero-copy h1{font-size:51px}}@media(max-width:700px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s}.shell.menu-open .sidebar{transform:translateX(0);box-shadow:20px 0 90px #153c2a55}.main{width:100%}.mobile-menu{display:flex;border:0;background:transparent;padding:5px}.topbar{height:62px;padding:0 18px}.breadcrumb>span{display:none}.top-actions{gap:12px}.top-actions .avatar{display:none}.workspace{padding:25px 17px}.heading{gap:18px;margin-bottom:24px}.heading h1{font-size:32px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:29px;margin:16px 0 5px}.notice{flex-wrap:wrap;gap:10px;padding:15px}.notice .link{margin-left:29px}.notice p{line-height:1.6}.panel-head{padding:20px}.dashboard-grid{gap:18px}.panel-head h2{font-size:21px}.empty{padding:32px 20px}.empty h3{font-size:22px}.footer span{display:none}.calendar-strip{padding:17px 12px;gap:4px}.day-card{padding:9px 2px}.day-card small{font-size:9px}.form-grid,.service-grid,.guest-card-grid{grid-template-columns:1fr}.form-section,.panel-body{padding:22px 19px}.tabs{padding:0 19px;gap:20px}.form-actions{padding:15px}.guest-nav{padding:20px}.guest-nav .row{gap:13px;font-size:11px}.guest-nav .row a:first-child{display:none}.guest-hero{height:440px}.hero-copy{padding:90px 28px}.hero-copy h1{font-size:46px}.guest-content{padding:35px 20px}.guest-footer{flex-direction:column;gap:20px}.photo-caption{font-size:9px}.payment-choices{gap:8px}.modal-body{padding:22px}.service-card{padding:20px}.form-grid .full{grid-column:auto}.rate-layout{gap:18px}}

/* Readable controls across laptop, tablet and phone. */
body{font-size:16px}.field,.primary,.secondary,.ghost,.metric-label,.onboard-row b{font-size:14px}.service-card p,.empty p,.link,.section-copy,.bubble{font-size:14px}.notice p,.metric small,.onboard-row p,.pill{font-size:12px}.field small{font-size:12px}.panel-head{gap:16px}.calendar-grid button{min-width:0}.guest-nav svg{vertical-align:middle}.topbar .link{font-size:13px}

.receipt .summary-line{gap:16px}.receipt .summary-line>:last-child{text-align:right;overflow-wrap:anywhere}.receipt-notes{margin-top:24px;padding:20px;background:#f5f7f2;border:1px solid #dce5d9;border-radius:12px}.receipt-notes h3{font-size:15px;margin:0 0 8px}.receipt-notes h3:not(:first-child){margin-top:18px}.receipt-notes p{font-size:13px;line-height:1.65;margin:6px 0}.receipt-footer{margin-top:24px;padding-top:20px;border-top:1px solid #dce5d9;display:grid;gap:8px;text-align:center;overflow-wrap:anywhere}.receipt-footer strong{font-family:Georgia,serif;font-size:23px;color:#174c3c}.receipt-footer span{font-size:13px}.receipt .row.spread{flex-wrap:wrap;gap:8px}

.photo-preview{margin:0;min-width:0}.photo-preview img{width:100%;object-fit:cover}.photo-preview figcaption{font-size:12px;margin-top:6px;color:#53695d}.villa-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:24px}.villa-gallery img{width:100%;height:130px;object-fit:cover;border-radius:8px}
