:root{color:#172b36;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7f8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}a{color:#116b58;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #21866e}.container{width:min(100% - 2rem,1100px);margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid #dce4e7}.header-content{justify-content:space-between;align-items:center;gap:1rem;padding-block:1.1rem;display:flex}.brand{color:#172b36;font-size:1.25rem;font-weight:750;text-decoration:none}nav{flex-wrap:wrap;gap:1rem;display:flex}.main-content{flex:1;padding-block:3rem}.panel{background:#fff;border:1px solid #dce4e7;border-radius:20px;padding:clamp(1.5rem,5vw,4rem)}.eyebrow{color:#116b58;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem;font-size:.85rem;font-weight:700}h1{letter-spacing:-.035em;max-width:750px;margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1.15}.intro{color:#536570;max-width:620px;margin-block:1.5rem 0;font-size:1.1rem}.button{color:#fff;background:#116b58;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:#0b5143}.connection{background:#f5f7f8;border:1px solid #dce4e7;border-radius:10px;margin-top:2rem;padding:1rem}.connection p{margin:.25rem 0 0}.connection--success{color:#215a38;background:#eef9f2;border-color:#a7d5b9}.connection--error{color:#8c2626;background:#fff3f3;border-color:#e7b1b1}.site-footer{color:#536570;border-top:1px solid #dce4e7;padding-block:1rem;font-size:.9rem}.auth-panel{max-width:560px;margin-inline:auto}.auth-panel h1{font-size:clamp(1.8rem,4vw,2.5rem)}.auth-form{gap:1.2rem;margin-top:1.5rem;display:grid}.form-field{gap:.4rem;display:grid}.form-field label{font-weight:600}.form-field input,.form-field select{color:#172b36;background:#fff;border:1px solid #a8b6be;border-radius:8px;width:100%;min-height:46px;padding:.7rem .85rem}.form-field small{color:#536570}.form-error{color:#8c2626;background:#fff3f3;border:1px solid #e7b1b1;border-radius:8px;padding:.85rem 1rem}.button:disabled{cursor:wait;opacity:.65}.auth-switch{text-align:center;margin-top:1.5rem}nav{align-items:center}.nav-button{color:#116b58;text-underline-offset:4px;background:0 0;border:0;padding:0;text-decoration:underline}.profile-details{gap:1rem;margin-top:2rem;display:grid}.profile-details>div{border-bottom:1px solid #dce4e7;padding-bottom:1rem}.profile-details dt{color:#536570;font-size:.9rem}.profile-details dd{overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:600}@media (width<=600px){.header-content{flex-direction:column;align-items:flex-start}}.profile-panel{max-width:720px;margin-inline:auto}.profile-panel h1{font-size:clamp(1.8rem,4vw,2.5rem)}.account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.form-note{color:#536570;font-size:.9rem}.profile-fields{border:0;gap:1.2rem;min-width:0;margin:0;padding:0;display:grid}.form-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.button--secondary{color:#172b36;background:#fff;border:1px solid #a8b6be}.button--secondary:hover{background:#edf2f4}.button:disabled{cursor:not-allowed}.form-success{color:#215a38;background:#eef9f2;border:1px solid #a7d5b9;border-radius:8px;padding:.85rem 1rem}.profile-fields:disabled input{color:#536570;background:#f5f7f8}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.account-summary{grid-template-columns:1fr}.form-actions>.button{flex:1}}.skip-link{z-index:100;color:#fff;background:#172b36;border-radius:0 0 8px 8px;padding:.75rem 1rem;position:absolute;top:0;left:1rem;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.primary-nav,.workspace-nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.nav-link{color:#425661;border-radius:8px;align-items:center;min-height:44px;padding:.5rem .75rem;text-decoration:none;display:inline-flex}.nav-link:hover{color:#172b36;background:#edf2f4}.nav-link--active{color:#115b49;background:#e6f3ed;font-weight:700}.primary-nav .nav-button{min-height:44px;padding:.5rem .75rem}.workspace-bar{background:#f8fafb;border-top:1px solid #e5ecef}.workspace-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-block:.65rem;display:flex}.workspace-label{color:#536570;text-transform:capitalize;margin:0;font-size:.85rem;font-weight:700}.page-heading{margin-bottom:2rem}.page-heading h1{overflow-wrap:anywhere;font-size:clamp(1.8rem,4vw,2.75rem)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.dashboard-card{background:#fff;border:1px solid #dce4e7;border-radius:16px;flex-direction:column;align-items:flex-start;padding:1.5rem;display:flex}.dashboard-card h2{margin:0;font-size:1.2rem}.dashboard-card p{color:#536570;flex:1}.dashboard-card .button{margin-top:.5rem}@media (width<=850px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.dashboard-grid{grid-template-columns:1fr}.workspace-content{flex-direction:column;align-items:flex-start}.primary-nav,.workspace-nav{width:100%}}.demo-notice{color:#705412;background:#fff9e8;border:1px solid #e4cf91;border-radius:10px;margin-block:1rem;padding:.85rem 1rem}.service-filters{background:#fff;border:1px solid #dce4e7;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-block:1.5rem;padding:1.25rem;display:grid}.filter-actions{flex-wrap:wrap;grid-column:1/-1;gap:.75rem;display:flex}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.service-card{background:#fff;border:1px solid #dce4e7;border-radius:16px;flex-direction:column;padding:1.5rem;display:flex}.service-card h2{margin:0;font-size:1.3rem}.service-card h2 a{color:#172b36;text-decoration:none}.service-card h2 a:hover{text-decoration:underline}.service-location{color:#116b58;margin:0 0 .5rem;font-size:.9rem;font-weight:600}.service-provider{color:#536570}.service-description{flex:1}.service-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.service-price{margin:0}.service-price span{color:#536570;font-size:.9rem}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}.back-link{margin-bottom:1rem;display:inline-block}.service-detail-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.service-detail-layout h1{font-size:clamp(1.8rem,4vw,2.75rem)}.service-detail-layout h2{font-size:1.2rem}.service-price-panel{padding:1.5rem}.service-detail-price{color:#116b58;overflow-wrap:anywhere;margin-block:1rem 0;font-size:2rem;font-weight:750}@media (width<=850px){.service-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-layout{grid-template-columns:1fr}}@media (width<=600px){.service-filters,.service-grid{grid-template-columns:1fr}}.form-field textarea{color:#172b36;resize:vertical;background:#fff;border:1px solid #a8b6be;border-radius:8px;width:100%;min-height:100px;padding:.7rem .85rem}.profile-fields:disabled textarea{color:#536570;background:#f5f7f8}.booking-eyebrow{margin-top:1.5rem}.booking-filter{max-width:320px;margin-block:1.5rem}.booking-list{gap:1.25rem;display:grid}.booking-card{background:#fff;border:1px solid #dce4e7;border-radius:16px;padding:clamp(1rem,3vw,1.75rem)}.booking-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.booking-card-header h2{margin:0;font-size:1.25rem}.booking-card-header h2 a{color:#172b36}.booking-card-header p{color:#536570;margin:.4rem 0 0}.status-badge{color:#344955;background:#edf2f4;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.booking-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.5rem;display:grid}.booking-details dt{color:#536570;font-size:.9rem}.booking-details dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:.3rem 0 0}.cancel-confirmation{border-top:1px solid #dce4e7;padding-top:1rem}.button--danger{color:#fff;background:#a32b2b}.button--danger:hover{background:#802020}@media (width<=600px){.booking-details{grid-template-columns:1fr}}.provider-profile-layout{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:1.5rem;display:grid}.provider-editor,.provider-preview{min-width:0;padding:clamp(1.25rem,3vw,2rem)}.provider-editor h2,.provider-preview h2{overflow-wrap:anywhere;margin-top:0;font-size:1.4rem}.provider-description{white-space:pre-wrap;overflow-wrap:anywhere}.provider-preview dd{white-space:pre-wrap}@media (width<=850px){.provider-profile-layout{grid-template-columns:1fr}}.services-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-block:1.5rem;display:flex}.services-toolbar .form-field{min-width:200px}.service-editor{max-width:760px;margin-inline:auto}.service-editor h2{margin-top:0}.service-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.service-card h2,.service-card p{overflow-wrap:anywhere}@media (width<=600px){.service-form-row{grid-template-columns:1fr}.services-toolbar{flex-direction:column;align-items:stretch}}.booking-confirmation{border-top:1px solid #dce4e7;margin-top:1rem;padding-top:1rem}.confirmation-title{margin-bottom:1rem;padding:0;font-weight:600}.booking-history{border-top:1px solid #dce4e7;margin-top:1.5rem;padding-top:1rem}.booking-history summary{cursor:pointer;color:#116b58;font-weight:600}.booking-history summary:focus-visible{outline-offset:4px;outline:3px solid #21866e}.booking-history ol{padding-left:1.5rem}.booking-history li{margin-bottom:1rem}.booking-history p{color:#536570;white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0}.rating-fieldset{border:0;min-width:0;margin:0;padding:0}.rating-fieldset>legend{margin-bottom:.75rem;font-weight:600}.rating-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.rating-option{cursor:pointer;text-align:center;border:1px solid #a8b6be;border-radius:10px;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .4rem;display:flex}.rating-option input{accent-color:#116b58;width:18px;height:18px;margin:0}.rating-option span{gap:.25rem;font-size:.85rem;display:grid}.rating-option strong{font-size:1.2rem}.rating-option:has(input:checked){color:#115b49;background:#e6f3ed;border-color:#116b58}.rating-option:has(input:disabled){cursor:wait;opacity:.7}.saved-review{border-top:1px solid #dce4e7;margin-top:1.5rem;padding-top:1rem}.review-score{color:#116b58;font-size:1.25rem;font-weight:700}.review-comment{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=600px){.rating-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-filters{background:#fff;border:1px solid #dce4e7;border-radius:14px;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;align-items:end;gap:1rem;min-width:0;margin:1.5rem 0;padding:1.25rem;display:grid}.admin-confirmation{margin-bottom:1.5rem;padding:1.5rem}.admin-confirmation h2{margin-top:0;font-size:1.2rem}.admin-table-wrapper{background:#fff;border:1px solid #dce4e7;border-radius:14px;overflow-x:auto}.admin-table-wrapper:focus-visible{outline-offset:4px;outline:3px solid #21866e}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th,.admin-table td{vertical-align:middle;border-bottom:1px solid #e5ecef;padding:1rem}.admin-table th{color:#344955;background:#edf2f4;font-size:.9rem}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#f8fafb}.admin-table td{overflow-wrap:anywhere}.admin-table .button{white-space:nowrap}@media (width<=850px){.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.admin-filters{grid-template-columns:1fr}.admin-table{min-width:650px}}.moderation-list{gap:1.25rem;display:grid}.moderation-card{overflow-wrap:anywhere;padding:1.5rem}.moderation-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.moderation-card__header h2{margin:.25rem 0;font-size:1.25rem}.moderation-card__header .status-badge{flex-shrink:0}.moderation-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.moderation-details dt{color:#52616b;font-size:.875rem}.moderation-details dd{margin:.25rem 0 0;font-weight:600}.moderation-reason{background:#f1f5f9;border-left:3px solid #64748b;padding:.875rem}.moderation-history{margin:1rem 0}.moderation-history summary{cursor:pointer;font-weight:600}.moderation-history li{margin-bottom:1rem}.moderation-history li p{margin:.25rem 0}.moderation-form{border-top:1px solid #dce3e8;margin-top:1.25rem;padding-top:1.25rem}.moderation-form h3{margin-top:0}@media (width<=600px){.moderation-card__header{flex-direction:column}.moderation-details{grid-template-columns:1fr}}.admin-booking-list{gap:1.25rem;display:grid}.admin-booking-card{overflow-wrap:anywhere;padding:1.5rem}.admin-booking-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-booking-card__header h2{margin:.25rem 0;font-size:1.25rem}.admin-booking-card__header .status-badge{flex-shrink:0}.admin-booking-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.admin-booking-details dt{color:#52616b;font-size:.875rem}.admin-booking-details dd{white-space:pre-wrap;margin:.25rem 0 0}.admin-booking-extra{border-top:1px solid #dce3e8;padding-top:1rem}.admin-booking-extra summary{cursor:pointer;font-weight:600}@media (width<=600px){.admin-booking-card__header{flex-direction:column}.admin-booking-details{grid-template-columns:1fr}}.home-page{--home-green:#115b49;--home-muted:#536570}.home-page h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.25}.home-page h3{margin:.75rem 0 0;font-size:1.15rem}.home-hero{background:linear-gradient(125deg,#edf6ef,#fbf8ee);border:1px solid #cddfd6;border-radius:24px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.home-hero__copy,.home-hero__aside,.home-search>*,.home-provider>*{min-width:0}.home-hero h1{max-width:640px;font-size:clamp(2.4rem,5vw,4rem)}.home-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.home-hero__aside{background:#fffc;border:1px solid #d4e3da;border-radius:18px;align-self:center;padding:1.75rem}.home-hero__aside>p:not(.eyebrow),.home-checklist{color:var(--home-muted)}.home-checklist{gap:.6rem;margin-bottom:0;padding-left:1.25rem;display:grid}.home-checklist li::marker{color:var(--home-green)}.home-search{background:#fff;border:1px solid #dce4e7;border-radius:14px;grid-column:1/-1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:end;gap:1rem;padding:1.25rem;display:grid}.home-search .button{min-height:46px}.home-section{margin-top:clamp(2.5rem,6vw,4.5rem)}.home-section__heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.home-section__heading>a{font-weight:600}.home-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.home-category{color:#172b36;overflow-wrap:anywhere;background:#fff;border:1px solid #dce4e7;border-radius:16px;flex-direction:column;padding:1.5rem;text-decoration:none;display:flex}.home-category:hover{background:#f0f8f3;border-color:#21866e}.home-category__number,.home-step-number{width:42px;height:42px;color:var(--home-green);background:#e6f3ed;border-radius:12px;justify-content:center;align-items:center;font-weight:750;display:inline-flex}.home-category p{color:var(--home-muted);flex:1}.home-category__link{color:var(--home-green);font-weight:650}.home-page .service-card h2{font-size:1.3rem}.home-how{background:#eaf0ed;border-radius:20px;padding:clamp(1.5rem,4vw,2.5rem)}.home-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:0;padding:0;list-style:none;display:grid}.home-steps p{color:var(--home-muted);margin-bottom:0}.home-step-number{background:#fff}.home-provider{color:#fff;background:#123e33;border-radius:20px;justify-content:space-between;align-items:center;gap:2rem;margin-top:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.5rem,4vw,3rem);display:flex}.home-provider .eyebrow{color:#bce7cc}.home-provider p:not(.eyebrow){color:#e0eee6;max-width:580px}.home-provider .button{white-space:nowrap}.home-provider__hint{margin-bottom:0;font-size:.85rem}.home-faq{border-top:1px solid #dce4e7}.home-faq details{border-bottom:1px solid #dce4e7;padding:1.25rem 0}.home-faq summary{cursor:pointer;font-weight:650}.home-faq summary:focus-visible{outline-offset:4px;outline:3px solid #21866e}.home-faq details p{max-width:780px;color:var(--home-muted);margin-bottom:0}.home-load-state{margin-top:2rem}@media (width<=850px){.home-hero{grid-template-columns:1fr}.home-category-grid,.home-search{grid-template-columns:repeat(2,minmax(0,1fr))}.home-search .button{grid-column:1/-1}.home-provider{flex-direction:column;align-items:flex-start}}@media (width<=600px){.home-category-grid,.home-search,.home-steps{grid-template-columns:1fr}.home-actions{flex-direction:column}.home-provider .button{white-space:normal}}
