:root{--forest:#153d2c;--forest2:#204a37;--lime:#cae98b;--paper:#f7f7f1;--ink:#182b22;--muted:#748076;--line:#e2e7dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #86b941;outline-offset:2px}.topbar{height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--forest);font:800 24px Manrope,sans-serif;letter-spacing:-1.2px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;background:var(--forest);color:var(--lime);border-radius:11px;font-size:22px}.role-switch{display:flex;background:#eff3e9;border-radius:100px;padding:4px;gap:3px}.role-switch button{border:0;background:none;color:#5d6b60;padding:10px 19px;border-radius:100px;font-size:13px;font-weight:700}.role-switch button.active{background:#fff;color:var(--forest);box-shadow:0 2px 7px #173d2d16}.top-note{font-size:13px;color:#53665a;font-weight:600}.status-dot{display:inline-block;width:8px;height:8px;background:#6bb944;border-radius:100%;margin-right:7px}main{max-width:1320px;margin:auto;padding:46px 42px 90px}.view{display:none}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px}.eyebrow{font-size:11px!important;letter-spacing:2px;font-weight:800;color:#68913e!important;margin:0 0 10px!important}.page-heading h1{font:800 clamp(32px,3.4vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-2px;margin:0 0 11px}.page-heading p{font-size:15px;color:#6e7b70;margin:0}.price-pill{background:#e9f1db;border:1px solid #dbe8c6;border-radius:18px;padding:14px 20px;min-width:180px}.price-pill span{display:block;color:#5d7555;font-size:11px;font-weight:700;margin-bottom:3px}.price-pill strong{font:800 23px Manrope,sans-serif;color:var(--forest)}.price-pill small{font-size:12px;font-weight:700}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.main-column{display:grid;gap:20px}.card,.quote-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 28px #20412b08}.card{padding:25px}.section-title{display:flex;gap:15px;align-items:start;margin-bottom:22px}.step{display:grid;place-items:center;background:#eaf3df;color:var(--forest);font-weight:800;width:32px;height:32px;border-radius:10px;flex:none}.section-title h2,.section-heading h2{font:800 20px Manrope,sans-serif;letter-spacing:-.6px;margin:0 0 3px}.section-title p{margin:0;color:var(--muted);font-size:13px}.address-row{display:flex;gap:8px}.address-row input{flex:1;min-width:0}input,select,textarea{border:1px solid #dce3d7;border-radius:10px;padding:12px 13px;background:#fff;color:var(--ink)}input::placeholder,textarea::placeholder{color:#a2ada3}.dark-btn,.lime-btn{border:0;border-radius:10px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:22px}.dark-btn{background:var(--forest);color:#fff;padding:11px 16px;white-space:nowrap;font-size:13px}.dark-btn:hover{background:#23553e}.field-note{color:#879288;font-size:12px;line-height:1.5;margin:10px 0 14px}.map-wrap{height:325px;position:relative;border-radius:14px;overflow:hidden;background:#e6ecdf}.map-wrap #map{height:100%;width:100%}.map-badge{position:absolute;top:13px;right:13px;z-index:500;background:#fff;box-shadow:0 4px 16px #0002;border-radius:100px;padding:9px 13px;font-size:11px;font-weight:800;color:var(--forest);pointer-events:none}.map-fallback{position:absolute;inset:0;z-index:501;display:grid;place-items:center;padding:25px;text-align:center;color:#526b57}.map-fallback[hidden]{display:none}.map-actions{display:flex;align-items:center;gap:12px;margin-top:13px;flex-wrap:wrap}.outline-btn{border:1px solid var(--forest);border-radius:9px;background:#fff;color:var(--forest);padding:10px 13px;font-size:12px;font-weight:800}.outline-btn.active{background:var(--forest);color:#fff}.text-btn{border:0;background:none;color:#607366;font-size:12px;font-weight:700;padding:8px}.area-row{display:flex;align-items:center;justify-content:space-between;background:#f6f9f2;border:1px solid #e6ebdf;border-radius:12px;padding:14px 16px;margin-top:18px;gap:15px}.area-row label,.schedule-card label{font-size:12px;font-weight:800}.area-row p{font-size:11px;color:var(--muted);margin:3px 0 0}.area-input{display:flex;align-items:center;gap:6px;color:#728473;font-size:12px}.area-input input{width:83px;text-align:right;padding:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:18px}.form-grid label,.schedule-card>label{display:block;margin:0 0 7px}.form-grid input,.form-grid select,.schedule-card textarea{width:100%}.optional{color:#9ba79c;font-weight:500}.quote-card{background:var(--forest);color:#fff;padding:25px;position:sticky;top:20px}.quote-card .eyebrow{color:var(--lime)!important}.quote-price{font:800 43px Manrope,sans-serif;letter-spacing:-2px}.quote-sub{font-size:12px;color:#adc2b0;margin:0}.divider{height:1px;background:#ffffff22;margin:22px 0}.quote-line{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:12px 0;color:#bdcfc1}.quote-line strong{color:#fff;font-weight:700}.tip-note{font-size:12px;line-height:1.5;color:#d8e8d4;background:#ffffff12;border-radius:11px;padding:11px 13px;margin:22px 0}.lime-btn{width:100%;background:var(--lime);color:var(--forest);padding:15px 16px;font-size:13px}.lime-btn:hover{background:#d7f29f}.fine-print{color:#a8bbaa;font-size:11px;line-height:1.5;text-align:center;margin:13px 4px 0}.help-card{display:flex;gap:13px;padding:20px 8px;color:#53735b}.help-card>span{font-size:25px;color:#83ad5d}.help-card strong{font-size:12px}.help-card p{font-size:11px;line-height:1.5;color:#8a988b;margin:4px 0}.jobs-section{margin-top:42px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.section-heading h2{font-size:21px}.jobs-list{display:grid;gap:12px}.empty{border:1px dashed #ccd8c8;border-radius:14px;padding:23px;color:#758479;font-size:13px;background:#fff}.job-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px}.job-card h3{font:800 15px Manrope,sans-serif;margin:0 0 5px}.job-card p{margin:0;color:#7a897b;font-size:12px;line-height:1.5}.job-right{text-align:right;flex:none}.job-right strong{display:block;font:800 19px Manrope,sans-serif;color:var(--forest)}.job-right button{border:0;background:var(--forest);color:#fff;border-radius:8px;padding:8px 12px;margin-top:8px;font-size:12px;font-weight:800}.job-right button:hover{background:#286044}.job-status{display:inline-block;border-radius:100px;background:#eaf3df;color:#496d39;padding:5px 9px;font-size:10px;font-weight:800;margin-top:6px}.mower-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mower-layout>.card{min-height:330px}.mower-layout .job-card{background:#f9fbf6}.count-pill{border-radius:100px;background:#e9f2dd;color:#557346;font-size:11px;font-weight:800;padding:8px 11px}.demo-note{color:#829084;font-size:12px;margin-top:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#183e2c;color:#fff;padding:13px 18px;border-radius:11px;box-shadow:0 14px 35px #102d1c33;z-index:1000;font-size:13px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-card{position:static}.help-card{align-self:start}.mower-layout{grid-template-columns:1fr}}@media(max-width:600px){.topbar{height:auto;min-height:70px;padding:12px 18px;flex-wrap:wrap;gap:12px}.top-note{display:none}.brand{font-size:20px}.role-switch button{padding:9px 12px;font-size:11px}main{padding:30px 16px 60px}.page-heading{align-items:start;gap:15px}.page-heading h1{font-size:30px}.price-pill{display:none}.card{padding:18px}.address-row{flex-direction:column}.dark-btn{justify-content:center}.map-wrap{height:290px}.sidebar{grid-template-columns:1fr}.help-card{display:none}.form-grid{grid-template-columns:1fr}.job-card{align-items:start}.job-right strong{font-size:16px}}

.address-options{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px}.address-options[hidden]{display:none}.address-options p{flex-basis:100%;color:#879288;font-size:11px;line-height:1.4;margin:0}.address-options button:disabled{opacity:.55;cursor:wait}

.map-style-switch{position:absolute;z-index:550;left:13px;bottom:13px;background:#fff;box-shadow:0 4px 16px #0002;border-radius:10px;padding:3px;display:flex;gap:2px}.map-style-switch button{border:0;background:none;border-radius:7px;color:#43584a;padding:7px 10px;font-size:11px;font-weight:800}.map-style-switch button.active{background:#153d2c;color:#fff}

/* Compact property preview. */
.map-wrap{height:270px}
.area-input input[readonly]{background:#eef4e8;cursor:default}
@media(max-width:600px){.map-wrap{height:240px}}

/* Accounts, saved yards, and seasonal plans. */
[hidden],.role-switch[hidden],#appMain[hidden],#authScreen[hidden],#accountBar[hidden],#nameGroup[hidden],#roleGroup[hidden]{display:none!important}
.account-bar{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700;color:var(--forest)}
.account-bar button{border:1px solid var(--forest);background:#fff;color:var(--forest);border-radius:9px;padding:9px 13px;font-weight:800}
.auth-screen{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:38px 18px}
.auth-card{width:min(100%,460px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 14px 38px #20412b13}
.auth-card h1{font:800 30px Manrope,sans-serif;margin:0 0 8px;letter-spacing:-1px}
.auth-card>p{font-size:14px;line-height:1.5;color:#627164}
.auth-card form{display:grid;gap:10px;margin-top:24px}
.auth-card label,.auth-label{font-size:14px;font-weight:800;color:var(--forest)}
.auth-card input:not([type=radio]):not([type=checkbox]){width:100%;font-size:16px}
.auth-card form>div:not(#roleGroup){display:grid;gap:8px}
.auth-card .dark-btn{justify-content:center;margin-top:10px;padding:14px}
.auth-card #accountTermsGroup{display:block}.auth-card #accountTermsGroup .terms-check{font-weight:500;margin:5px 0}.auth-card #accountTermsGroup a{color:var(--forest);font-weight:800}.auth-card #accountTermsGroup input{width:auto;flex:none}
.role-choice{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:600!important}
.role-choice input{width:auto}
.saved-card{padding:20px 25px}.saved-yards{display:grid;gap:10px}
.saved-yard,.plan-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fbfcf9}
.saved-yard strong,.plan-card strong{display:block;font-size:14px;line-height:1.4}.saved-yard span,.plan-card p{display:block;font-size:13px;color:#6e7c6f;margin:3px 0 0}
.save-yard-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:13px}
.subscription-card{margin-top:22px;padding:25px}.subscription-card>p{font-size:14px;line-height:1.5;color:#647467}
.subscription-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:13px;margin:18px 0}.subscription-grid>div{display:grid;gap:7px}.subscription-grid label{font-size:14px;font-weight:800}.subscription-grid select{width:100%}
.plan-quote{font-weight:800!important;color:var(--forest)!important;background:#edf5e4;border-radius:10px;padding:12px 14px}
.terms{margin:15px 0;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.terms summary{cursor:pointer;font-size:14px;font-weight:800}.terms p{font-size:13px;line-height:1.55;color:#5d6c60}
.terms-check{display:flex;align-items:flex-start;gap:9px;margin:14px 0;font-size:14px;line-height:1.5;font-weight:700}.terms-check input{margin-top:3px}
.plans-list{display:grid;gap:9px;margin-top:18px}.plans-list h3{font:800 16px Manrope,sans-serif;margin:4px 0}.plan-card .text-btn{white-space:nowrap}
@media(max-width:700px){.subscription-grid{grid-template-columns:1fr}.auth-card{padding:24px}.saved-yard,.plan-card{align-items:flex-start;flex-direction:column}.saved-yard button{width:100%}}

/* Guest scheduling and administrator overview. */
#guestActions[hidden]{display:none!important}
#guestActions button:first-child{background:#fff}
#guestActions button:last-child{background:var(--forest);color:#fff}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:19px;min-height:108px;display:flex;flex-direction:column;justify-content:space-between}
.metric-card span{font-size:13px;color:#66776a;font-weight:700}
.metric-card strong{font:800 clamp(20px,2.2vw,29px) Manrope,sans-serif;color:var(--forest)}
.admin-tables{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}
.admin-list{display:grid;gap:0}.admin-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.admin-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.admin-row span{display:block;color:#748076;font-size:13px;line-height:1.5;margin-top:3px;overflow-wrap:anywhere}.admin-row b{font-size:14px;white-space:nowrap;color:var(--forest)}
.metric-link{text-align:left;width:100%;cursor:pointer}.metric-link:hover,.admin-row-button:hover,.admin-record-item:hover{border-color:#95bc68;background:#f7fbf1}
.admin-workspace{margin:0 0 22px}.admin-record-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.admin-record-tabs button{border:1px solid #cfdccb;background:#fff;color:var(--forest);padding:9px 13px;border-radius:9px;font-size:13px;font-weight:800}.admin-record-tabs button.active{background:var(--forest);color:#fff}.admin-workspace #adminSearch{width:100%;margin-bottom:14px}.admin-record-layout{display:grid;grid-template-columns:minmax(210px, .8fr) minmax(0,1.3fr);gap:18px;align-items:start}.admin-record-list{display:grid;gap:7px;max-height:600px;overflow:auto}.admin-record-item{border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;padding:11px 12px;color:var(--ink)}.admin-record-item.active{border-color:var(--forest);background:#f0f7e7}.admin-record-item strong,.admin-record-item span{display:block;overflow-wrap:anywhere}.admin-record-item strong{font-size:13px}.admin-record-item span{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.admin-editor{border:1px solid var(--line);border-radius:14px;padding:20px;min-height:180px}.admin-editor h3{margin:0;font:800 20px Manrope,sans-serif}.admin-editor h4{margin:22px 0 8px}.admin-invoice-summary{background:#eaf3df;border-radius:10px;padding:12px;font-weight:800;font-size:13px;line-height:1.5}.admin-edit-form{display:grid;gap:12px;margin-top:16px}.admin-field{display:grid;gap:6px;font-size:12px;font-weight:800;color:var(--forest)}.admin-field input,.admin-field select,.admin-field textarea{width:100%;font-size:14px;font-weight:400}.admin-field textarea{min-height:75px}.admin-edit-form .dark-btn{justify-content:center}.admin-history-item{font-size:12px;color:#627164;border-top:1px solid var(--line);padding-top:8px;line-height:1.5}.admin-row-button{width:100%;background:none;text-align:left;border-left:0;border-right:0;border-bottom:0;align-items:center;color:var(--ink)}
.admin-invoice-lines{display:grid;gap:0;margin:15px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.admin-invoice-lines>div{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-top:1px solid var(--line);font-size:12px}.admin-invoice-lines>div:first-child{border-top:0}.admin-invoice-lines>div:last-child{background:#f0f7e7;font-weight:800}.admin-invoice-lines strong{color:var(--forest);white-space:nowrap}
.admin-invoice-lines>div span{flex:1}.admin-invoice-lines>div.removed{color:#8a928a;background:#f7f7f4}.admin-invoice-lines>div.removed span{text-decoration:line-through}.admin-invoice-lines .text-btn{padding:0;font-size:12px}.admin-remove-btn{margin-top:14px;border-color:#9c4c39;color:#8a3c2b}
@media(max-width:900px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tables{grid-template-columns:1fr}}
@media(max-width:700px){.admin-record-layout{grid-template-columns:1fr}.admin-record-list{max-height:300px}}
@media(max-width:600px){.admin-metrics{gap:9px}.metric-card{padding:14px;min-height:100px}.account-bar{font-size:12px;gap:7px}.account-bar button{padding:8px 9px;font-size:12px}}
.site-footer{max-width:1320px;margin:0 auto;padding:0 42px 35px;display:flex;gap:18px;flex-wrap:wrap;color:#748076;font-size:12px}.site-footer a{color:var(--forest);font-weight:700}@media(max-width:600px){.site-footer{padding:0 16px 30px}}
.addon-heading{margin:18px 0 11px}.addon-heading h3{font:800 17px Manrope,sans-serif;color:var(--forest);margin:0 0 3px}.addon-heading p{font-size:12px;color:var(--muted);margin:0}.addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 18px}.addon-choice{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fbfcf9;cursor:pointer}.addon-choice:has(input:checked){background:#edf6e4;border-color:#86b94d}.addon-choice input{flex:none;margin:4px 0 0;accent-color:var(--forest)}.addon-choice span{flex:1;min-width:0}.addon-choice strong{display:block;font-size:13px;color:var(--forest)}.addon-choice small{display:block;font-size:11px;line-height:1.4;color:#708073;margin-top:3px;font-weight:500}.addon-choice b{font-size:12px;color:var(--forest);white-space:nowrap}.job-extras{color:var(--forest)!important;font-weight:700;margin-top:5px!important}@media(max-width:650px){.addon-grid{grid-template-columns:1fr}}
.bundle-choice{grid-column:1/-1;background:#f0f7e7;border-color:#bfd5a7}.bundle-choice strong{font-size:15px}.bundle-choice b{font-size:15px}
.weather-status{padding:12px 14px;margin:0 0 8px;border-radius:10px;background:#eef3e9;color:#365d40;font-size:13px;font-weight:700;line-height:1.45}.weather-status[data-kind=rain]{background:#fff1e7;color:#8a3c1e}.weather-status[data-kind=clear]{background:#eaf5e5;color:#2e6439}.weather-status[data-kind=unavailable]{background:#f4f1e9;color:#6e654f}.weather-credit{font-size:11px;color:#748076;margin:4px 0 16px}.weather-credit a{color:#365d40}
.customer-heading{align-items:center;gap:24px}.mower-gif-card{width:min(360px,42%);flex:none;overflow:hidden;border:1px solid #dbe8c6;border-radius:26px;background:#f1f8e7;box-shadow:0 8px 22px #20412b0b}.mower-gif-card picture,.mower-gif-card img{display:block;width:100%;height:auto}@media(max-width:700px){.customer-heading{flex-direction:column;align-items:stretch}.mower-gif-card{width:min(360px,100%);align-self:center}}

/* Booking choices appear only after the customer starts a request. */
body.booking-open{overflow:hidden}
.booking-overlay{position:fixed;inset:0;z-index:1200;background:#102a1ec2;display:grid;place-items:center;padding:18px}
body.booking-open .toast{z-index:1300}
.booking-dialog{width:min(100%,760px);max-height:min(90vh,900px);display:flex;flex-direction:column;background:#fff;border-radius:22px;box-shadow:0 25px 90px #061d1280;overflow:hidden}
.booking-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 28px;border-bottom:1px solid var(--line)}
.booking-header h2{font:800 25px Manrope,sans-serif;letter-spacing:-.8px;margin:0}
.booking-header-copy{min-width:0}.booking-header-actions{display:flex;align-items:center;gap:14px;flex:none}
.booking-address{font-size:13px;color:#647467;margin:7px 0 0}
.booking-close{border:0;background:#edf3e8;color:var(--forest);border-radius:50%;width:36px;height:36px;flex:none;font-size:25px;line-height:1}
.booking-body{padding:21px 28px;overflow:auto;overscroll-behavior:contain}
.booking-frequency{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-frequency legend{font-size:14px;font-weight:800;margin-bottom:9px;color:var(--forest)}
.booking-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:13px;padding:14px;cursor:pointer;background:#fbfcf9}
.booking-option:has(input:checked){border-color:#82b845;background:#f0f8e6;box-shadow:inset 0 0 0 1px #82b845}
.booking-option input{margin:3px 0 0;accent-color:var(--forest)}
.booking-option strong,.booking-option small{display:block}.booking-option strong{font-size:14px;color:var(--forest)}.booking-option small{font-size:12px;line-height:1.4;color:#68796b;margin-top:4px}
.booking-visit,.booking-season{background:#f4f7ef;border-radius:10px;padding:11px 13px;font-size:13px;color:#4f6653;line-height:1.5;margin:0 0 12px}
.booking-season{margin-top:4px}.booking-dialog .subscription-grid{grid-template-columns:1fr 1.4fr;margin:12px 0}.booking-dialog .addon-heading{margin:19px 0 11px}
.booking-total{display:flex;flex-direction:column;align-items:flex-end;gap:2px;background:#edf6e4;border-radius:12px;padding:9px 14px;color:var(--forest);font-weight:800;min-width:145px}.booking-total span{font-size:11px}.booking-total strong{font:800 23px Manrope,sans-serif;white-space:nowrap}
.booking-price-note{font-size:12px;color:#667669;line-height:1.5;margin:9px 0}
.booking-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 28px;border-top:1px solid var(--line);background:#fff}.booking-footer .dark-btn{font-size:14px;padding:12px 18px}
#bookingStatus:not(:empty){color:#a5432c;font-weight:700}
@media(max-width:650px){.booking-overlay{padding:0;place-items:stretch}.booking-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.booking-header{padding:15px 18px}.booking-header h2{font-size:19px}.booking-header-actions{gap:7px}.booking-total{min-width:0;padding:7px 9px}.booking-total span{font-size:9px}.booking-total strong{font-size:18px}.booking-close{width:31px;height:31px}.booking-body{padding:17px 18px}.booking-frequency{grid-template-columns:1fr}.booking-dialog .subscription-grid{grid-template-columns:1fr}.booking-footer{padding:13px 18px}.booking-footer button{flex:1;justify-content:center}}

.booking-date-grid input,.booking-date-grid select,.booking-notes textarea{width:100%}.booking-notes{display:grid;gap:7px;margin:14px 0}.booking-notes label{font-size:14px;font-weight:800;color:var(--forest)}.booking-notes textarea{min-height:75px}

.payout-breakdown{margin:14px 0;padding:12px;border-radius:10px;background:#f3f6f1}.payout-breakdown p{margin:6px 0}.job-card .terms-check{max-width:520px}.job-right>p{font-size:12px}.job-right button:disabled{opacity:.45;cursor:not-allowed}

@media(max-width:600px){.job-card{flex-direction:column;align-items:stretch}.job-card .job-right{align-items:flex-start;text-align:left;width:100%}.job-card .job-right button{width:100%}.job-card .terms-check{max-width:none}}

/* Mower service ZIP selection. */
#mowerZoneGroup{display:grid;gap:8px}
#mowerZoneGroup input{width:100%}
#mowerZoneGroup .field-note{margin:0 0 4px}
.mower-zone-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px}
.mower-zone-card h2{font:800 20px Manrope,sans-serif;margin:0 0 4px}
.mower-zone-card p:not(.eyebrow){font-size:13px;color:#6e7c6f;margin:0;line-height:1.5}
.mower-zone-card form{width:min(100%,420px);flex:none}
.mower-zone-card form label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}
.mower-zone-row{display:flex;gap:8px}.mower-zone-row input{flex:1;min-width:0}.mower-zone-row button{justify-content:center}
.mower-zone-card #mowerZoneStatus{margin:7px 0 0}
@media(max-width:750px){.mower-zone-card{align-items:stretch;flex-direction:column;gap:16px}.mower-zone-card form{width:100%}}
@media(max-width:460px){.mower-zone-row{flex-direction:column}}

/* Private proof of a completed cut. */
.job-card>div:first-child{min-width:0}
.completion-upload{max-width:390px;margin-top:14px;padding:12px;border:1px solid #dbe8d1;border-radius:12px;background:#f5faef}
.completion-upload label{display:grid;gap:8px;font-size:12px;font-weight:800;color:var(--forest)}
.completion-upload input{width:100%;max-width:100%;padding:8px;font-size:12px}
.completion-upload p{font-size:11px;line-height:1.45;margin:8px 0 0;color:#687a68}
.completion-upload .field-note{font-weight:700}
.completion-preview,.completion-photo{display:block;width:min(100%,250px);max-height:190px;object-fit:cover;border-radius:10px;border:1px solid #d4e2cb}
.completion-preview{margin-top:10px}
.completion-photo-link{display:inline-block;margin:6px 0 4px}
.profile-preview{display:block;width:110px;height:110px;object-fit:cover;border-radius:50%;margin:10px 0;border:2px solid #d4e2cb}
.profile-preview[hidden]{display:none}
.person-profile{display:flex;gap:12px;padding:12px;margin:10px 0;border:1px solid #dce6d5;border-radius:14px;background:#f8fbf5}
.person-photo{width:64px;height:64px;flex:none;object-fit:cover;border-radius:50%}
.person-profile p{margin:3px 0;color:#61736b}
.person-profile blockquote{font-size:.88rem;margin:7px 0;padding-left:10px;border-left:2px solid #95bd69;color:#3e5549}
.profile-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.booking-profiles{margin:20px 0}
.review-form{display:grid;gap:8px;max-width:360px;margin:14px 0}
.review-form select,.review-form textarea{width:100%}
.push-card{margin:22px auto;max-width:1100px}
.push-card button{margin:12px 0}
.push-history{margin-top:16px;border-top:1px solid #dce6d5;padding-top:12px;color:#53685b}
.push-history p{margin:5px 0}
.completion-caption{font-size:12px!important;font-weight:800;color:var(--forest)!important;margin:12px 0 0!important}
@media(max-width:600px){.job-card{flex-direction:column}.job-right{text-align:left;width:100%}.job-right button{width:100%}}

/* Home navigation and account recovery. */
.brand{text-decoration:none}
.brand:focus-visible{outline:3px solid #82b845;outline-offset:5px;border-radius:8px}
.recovery-dialog{width:min(calc(100% - 32px),470px);border:0;border-radius:20px;padding:28px;color:var(--ink);box-shadow:0 25px 90px #061d1280}
.recovery-dialog::backdrop{background:#102a1ec2}
.recovery-dialog h2{font:800 25px Manrope,sans-serif;color:var(--forest);margin:0 0 8px}
.recovery-dialog p{color:#627164;line-height:1.55}
.recovery-dialog code{display:block;margin:22px 0;padding:16px;border-radius:11px;background:#edf6e4;color:var(--forest);font:800 18px/1.4 ui-monospace,monospace;text-align:center;letter-spacing:1px;overflow-wrap:anywhere}
.recovery-dialog>div{display:flex;justify-content:flex-end;gap:10px}
.recovery-dialog .dark-btn{justify-content:center}

/* Shared service navigation */
.topbar{flex-wrap:wrap}.service-switch{display:flex!important;justify-content:center;gap:4px!important;padding:4px;border:1px solid #cbd9d3;border-radius:999px;background:#fff}.service-switch a{display:block;padding:8px 22px;border-radius:999px;color:#234239;text-decoration:none;font-size:14px;font-weight:700}.service-switch a[aria-current="page"]{background:#163d2d;color:white}.service-switch a:last-child[aria-current="page"]{background:#142b43}.service-switch a:focus-visible{outline:3px solid #66a1d2;outline-offset:2px}@media(max-width:700px){.service-switch{width:100%;order:5}.service-switch a{flex:1;text-align:center}}

.topbar{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px;gap:12px}.topbar .service-switch a{display:block!important}

#reauthDialog{border:1px solid #d9e3d4;border-radius:18px;padding:28px;width:min(440px,90vw);color:var(--ink)}#reauthDialog::backdrop{background:#142b4380}#reauthForm{display:grid;gap:14px}#reauthForm input,#reauthForm button{padding:12px;border-radius:8px;border:1px solid #b7c9b5}#reauthForm h2,#reauthForm p{margin:0}#reauthStatus{color:#923d2b}
