:root{--ink:#1d2d32;--muted:#6d7f89;--green:#087a51;--mint:#e9f7ed;--ice:#f0f8fb;--line:#d9e2e6;--navy:#222746;--danger:#a33232}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eef2f2;color:var(--ink);font:16px/1.65 Tahoma,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #18aa9e;outline-offset:3px}a{color:var(--green)}[hidden]{display:none!important}svg{width:24px;height:24px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#mobile-shell{position:relative;max-width:520px;min-height:100svh;margin:auto;background:#fff;box-shadow:0 0 40px #12252813}#boot{display:grid;place-content:center;gap:24px;text-align:center;min-height:100svh;color:var(--muted)}#boot img{width:240px;margin:auto}#boot p{font-size:14px}button.plain{background:transparent;border:0;padding:8px;color:var(--ink)}.language{font-size:12px;font-weight:700}.icon-button{position:relative;display:grid;place-items:center;min-width:40px;min-height:40px}.text-button{border:0;background:transparent;color:var(--green);padding:9px 0;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.pill{border:1.5px solid var(--ink);border-radius:40px;min-height:54px;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;width:100%;font-weight:700;text-decoration:none}.primary{background:var(--green);color:#fff;border-color:var(--green)}.outlined{background:#fff;color:var(--ink)}.browse{background:var(--ice);border-color:var(--ice);color:var(--ink)}.muted{color:var(--muted);font-size:13px}.welcome{padding:20px 26px 26px;min-height:100svh;display:flex;flex-direction:column;align-items:center}.welcome-top{display:flex;justify-content:space-between;align-items:center;width:100%;color:var(--muted);font-size:9px;letter-spacing:.12em}.welcome-logo{width:245px;max-width:85%;height:auto;object-fit:contain;margin:28px auto 6px}.welcome-kicker{font-size:12px;letter-spacing:.06em;color:var(--green);margin:8px 0 20px}.welcome h1{font-size:clamp(27px,7vw,36px);line-height:1.5;text-align:center;margin:0 0 12px;max-width:420px}.welcome-description{text-align:center;font-size:15px;color:var(--muted);margin:0 auto 26px;max-width:390px}.welcome-actions{width:100%;display:grid;gap:14px}.welcome .pill{font-size:14px}.or{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.or:before,.or:after{content:"";height:1px;flex:1;background:var(--line)}.welcome-art{position:relative;width:100%;height:170px;margin-top:30px;background:linear-gradient(180deg,#fff0,#fff0 70%,#fff),url("/brand/geometry-pattern.svg") center/220px;border-radius:28px;display:grid;place-items:center}.welcome-art>img{height:145px;width:135px;object-fit:contain;filter:drop-shadow(0 5px 8px #152a2440)}.art-bubble{position:absolute;width:58px;height:58px;display:grid;place-items:center;border-radius:20px;background:#fff;box-shadow:0 4px 18px #17223a24;color:var(--green)}.art-bubble svg{width:32px;height:32px}.art-tools{inset-inline-start:18px;top:22px;transform:rotate(-8deg)}.art-shop{inset-inline-end:18px;bottom:20px;transform:rotate(8deg)}.welcome-links{display:flex;gap:30px;margin-top:24px;font-size:13px}.welcome-links a{color:var(--muted)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border-bottom:1px solid var(--line);min-height:84px;padding:12px 16px;position:sticky;top:0;z-index:10}.header-brand{display:flex;flex-direction:column;align-items:center;min-width:0}.header-brand>img{width:135px;height:40px;object-fit:contain}.header-actions{display:flex;align-items:center;gap:0;min-width:70px}.avatar-button{width:42px;height:42px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;padding:0;flex:none}.avatar-button img{display:block;width:52px;height:52px;max-width:none;object-fit:contain;pointer-events:none}.header-brand .location-link{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--muted);font-size:11px;max-width:225px;padding:2px 4px}.location-link svg{width:13px;height:13px}.location-link #current-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{font-size:14px}.notification-dot{position:absolute;min-width:17px;height:17px;border-radius:12px;background:#d84b55;color:#fff;font-size:10px;top:0;inset-inline-end:0;padding-inline:4px}
#app-main{padding-bottom:104px;min-height:calc(100svh - 84px)}.app-screen{padding-bottom:10px}.greeting-block{padding:22px 20px 24px}.small-eyebrow{font-size:11px;color:var(--green);margin:0 0 3px}.greeting-block h1{font-size:26px;margin:0 0 18px;line-height:1.5}.search-box{display:flex;gap:10px;align-items:center;border:1.5px solid #b9c8ce;border-radius:14px;background:#fff;padding:9px 12px}.search-box>svg{width:22px;color:var(--muted)}.search-box input{border:0;outline:0;width:100%;min-width:0;padding:7px 0;background:transparent;color:var(--ink);font-size:14px}.search-box input::placeholder{color:#83959e}.search-submit{display:grid;place-items:center;width:33px;height:33px;flex:none;padding:5px;border:0;border-radius:10px;background:var(--green);color:#fff}.search-submit svg{width:19px;height:19px}.category-section{padding:0 20px 22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-heading h2{margin:0;display:flex;align-items:center;gap:8px;font-size:17px}.section-heading .text-button{font-size:12px;white-space:nowrap}.heading-icon{color:var(--green)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}.category-tile{padding:0;background:transparent;border:0;color:var(--ink);font-size:11px;text-align:center;min-width:0}.category-tile .category-symbol{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;margin:0 auto 5px;background:var(--mint);color:var(--green)}.category-tile:nth-child(2n) .category-symbol{background:#eef3ff;color:#5772a6}.category-tile:nth-child(3n) .category-symbol{background:#fff5dd;color:#a16f15}.category-symbol svg{width:27px;height:27px}.category-tile small{display:block;font-size:10px;color:var(--muted)}.feed-section{border-top:12px solid var(--ice);padding:20px 18px}.section-note{font-size:12px;color:var(--muted);margin:-3px 0 18px}.feed-section>.section-heading{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:10px}.provider-list{display:grid;gap:18px}.provider-card{border:1px solid #cfdbe0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 3px 10px #163b2f05}.provider-top{display:flex;align-items:center;gap:11px;padding:16px 14px 12px}.business-avatar{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:#e8f3ee;color:var(--green);font-size:23px;font-weight:bold}.provider-summary{flex:1;min-width:0}.provider-summary h3{font-size:17px;line-height:1.4;margin:0 0 3px;overflow-wrap:anywhere}.provider-summary p{font-size:12px;color:var(--muted);margin:0}.approved-mark{display:inline-flex;vertical-align:middle;color:#149a88;align-items:center;gap:4px;font-size:10px}.approved-mark svg{width:14px;height:14px}.save-button{display:grid;place-items:center;align-self:flex-start;background:transparent;border:0;color:#889aa3;padding:4px}.save-button[aria-pressed=true]{color:#d94e67}.save-button[aria-pressed=true] svg{fill:#ffe3e9}.card-visual{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:112px;padding:20px 24px;background:linear-gradient(120deg,#e8f7f1,#f4fbf7);color:var(--green);position:relative;overflow:hidden}.card-visual:after{content:"";position:absolute;width:110px;height:110px;border:16px solid #ffffff80;border-radius:50%;inset-inline-end:-25px;top:28px}.card-visual>svg{width:58px;height:58px;stroke-width:1.4;z-index:1}.card-visual>span{font-size:16px;font-weight:700;z-index:1}.provider-card:nth-child(3n+2) .card-visual{background:linear-gradient(120deg,#edf2fc,#f4f7fe);color:#5e77a8}.provider-card:nth-child(3n) .card-visual{background:linear-gradient(120deg,#fff3d6,#fffbec);color:#a47b2b}.provider-body{padding:14px 15px}.provider-body p{font-size:13px;margin:0 0 9px;overflow-wrap:anywhere}.provider-meta{display:flex;align-items:flex-start;gap:7px;color:var(--muted);font-size:11px;margin-block:6px}.provider-meta svg{width:16px;height:16px}.provider-actions{display:flex;gap:8px;padding-top:10px}.provider-actions button,.provider-actions a{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;padding:9px 10px;font-size:12px;font-weight:700;text-decoration:none}.provider-actions .contact-action{border-color:var(--green);background:var(--green);color:#fff}.provider-actions svg{width:17px;height:17px}.provider-footer{display:flex;gap:6px;align-items:center;background:#f9fbfc;padding:10px 15px;font-size:10px;color:var(--muted)}.provider-footer svg{width:14px;height:14px;color:#159984}.empty-state{background:var(--ice);border-radius:18px;padding:24px;text-align:center;color:var(--muted);font-size:13px}.empty-state>svg{width:40px;height:40px;margin:0 auto 10px;color:var(--green)}.empty-state h3{margin:4px 0;color:var(--ink);font-size:17px}.empty-state p{margin:5px 0}.empty-state button{margin-top:14px}.owner-invite{display:flex;gap:15px;border-top:12px solid var(--ice);padding:24px 20px}.owner-invite>svg{width:42px;height:42px;color:var(--green);margin-top:4px}.owner-invite h2{font-size:17px;margin:0}.owner-invite p{font-size:13px;color:var(--muted);margin:6px 0}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);z-index:20;display:flex;align-items:stretch;justify-content:space-around;border-top:1px solid var(--line);background:#fff;padding:8px 6px max(10px,env(safe-area-inset-bottom));box-shadow:0 -3px 15px #1c3d3508}.bottom-nav>button{border:0;background:transparent;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;border-radius:13px;font-size:10px;font-weight:700;color:#43545f;padding:5px 1px;min-height:56px}.bottom-nav>button>svg{width:25px;height:25px}.bottom-nav>button.active{background:var(--ice);color:var(--green)}.bottom-nav .nav-create{position:relative;padding-top:31px}.create-circle{position:absolute;bottom:25px;width:54px;height:54px;background:var(--green);border:4px solid white;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 2px 7px #087a5130}.create-circle svg{width:29px;height:29px}.screen-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 20px 14px}.screen-heading h1{font-size:25px;margin:0;line-height:1.45}.screen-heading h2{font-size:21px;margin:0}.screen-heading>svg{color:var(--green);width:30px;height:30px}.filter-button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;padding:8px 11px;background:#fff;color:var(--green);font-size:12px}.filter-button svg{width:18px;height:18px}.directory-search{padding:0 20px 18px}.directory-search .field{margin-top:14px}#directory-results,#saved-list,#my-activities,#mobile-admin-list,#mobile-admin-reports{padding:0 18px 18px}.field{display:block;margin:14px 0;color:var(--ink);font-size:13px;font-weight:700}.field>span{display:block;margin-bottom:7px}.field input,.field select,.field textarea,.location-fields input,.location-fields select{display:block;width:100%;border:1px solid #c9d5da;border-radius:12px;background:#fff;color:var(--ink);padding:12px;font:400 15px/1.4 inherit;min-height:48px}.field textarea{resize:vertical;line-height:1.7}.field input[type=email],.field input[type=password],.field input[type=tel]{direction:ltr;text-align:start}.form-card{padding:6px 20px 22px}.form-card>p{color:var(--muted);font-size:13px}.form-card .pill{margin-top:20px}.form-card>.text-button{display:flex;justify-content:center;width:100%;font-size:13px}.auth-tabs{display:flex;gap:8px;margin:0 20px 10px;border-radius:12px;background:var(--ice);padding:5px}.auth-tabs button{flex:1;border:0;border-radius:9px;background:transparent;padding:9px;color:var(--muted);font-weight:700}.auth-tabs button.active{background:white;color:var(--green);box-shadow:0 2px 5px #152e2110}.check-field{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:12px;line-height:1.9}.check-field input{accent-color:var(--green);margin-top:5px;width:18px;height:18px;flex:none}.mode-auth .bottom-nav{display:none}.mode-auth #app-main{padding-bottom:20px}.app-screen>p.section-note{margin:0 20px 20px}.profile-card{margin:0 20px 22px;padding:20px;text-align:center;border-radius:20px;background:var(--ice)}.profile-avatar{display:grid;place-items:center;margin:auto;width:68px;height:68px;border-radius:50%;background:#d7eee3;color:var(--green);font-size:32px;font-weight:bold}.profile-card h2{font-size:20px;margin:12px 0 3px;overflow-wrap:anywhere}.profile-card p{margin:4px 0;overflow-wrap:anywhere}.profile-role{color:var(--green);font-size:12px}.profile-card .pill{margin-top:18px;min-height:48px}.account-menu{margin:0 20px;border-top:1px solid var(--line)}.account-menu>button,.account-menu>a{display:flex;align-items:center;gap:14px;width:100%;border:0;border-bottom:1px solid #edf1f3;background:white;padding:16px 4px;font-size:14px;color:var(--ink);text-decoration:none;text-align:start}.account-menu svg{width:22px;height:22px;color:var(--green)}.menu-arrow{margin-inline-start:auto;color:var(--muted);font-size:22px}.account-menu .logout,.account-menu .logout svg{color:var(--danger)}.version-label{text-align:center;font-size:10px;color:var(--muted);letter-spacing:.12em;margin:24px}.subheading{font-size:19px;margin:18px 20px}.activity-card{padding:16px;border:1px solid var(--line);border-radius:15px;margin-bottom:12px}.activity-card h3{font-size:16px;margin:0 0 6px}.activity-card p{font-size:12px;margin:5px 0;color:var(--muted)}.status-tag{display:inline-block;font-size:11px;border-radius:12px;padding:3px 10px;background:var(--mint);color:var(--green)}.review-actions{display:flex;gap:8px;flex-wrap:wrap}.review-actions button{border:1px solid var(--line);border-radius:8px;padding:8px 11px;background:var(--mint);color:var(--green);font-size:12px}.conversation-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border:0;border-bottom:1px solid var(--line);background:#fff;width:100%;text-align:start}.conversation-row>span:nth-child(2){flex:1;min-width:0}.conversation-row strong{display:block;font-size:14px}.conversation-row p{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin:2px 0}.conversation-row time{font-size:10px;color:var(--muted)}.unread-count{display:grid;place-items:center;background:var(--green);color:white;width:22px;height:22px;border-radius:50%;font-size:11px}.conversation{padding:0 20px}.conversation h2{font-size:19px;margin:10px 0 14px}.chat-messages{display:flex;flex-direction:column;gap:10px;max-height:49svh;overflow:auto;overscroll-behavior:contain;padding:10px 0}.chat-bubble{border-radius:15px;background:var(--ice);padding:10px 13px;max-width:88%;align-self:flex-start;min-width:80px;overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:#e2f4e8}.chat-bubble p{font-size:14px;margin:0;white-space:pre-wrap}.chat-bubble time{font-size:9px;color:var(--muted);display:block;margin-top:5px}.conversation .pill{min-height:46px}.conversation .field{margin-bottom:10px}
dialog{border:0;border-radius:22px;color:var(--ink);padding:0 0 24px;width:min(94vw,490px);max-height:90svh;overflow:auto;box-shadow:0 16px 70px #0d24234a}dialog::backdrop{background:#142c2f88}dialog .location-picker{padding:0 20px}.location-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px}.location-heading strong{font-size:15px}.location-current{font-size:11px;color:var(--green);background:var(--mint);padding:4px 8px;border-radius:12px}.location-fields{display:grid;gap:14px}.location-fields label{display:block;font-size:12px;font-weight:700}.location-fields input,.location-fields select{margin-top:7px;font-size:14px}.location-all{border:0;border-radius:10px;padding:10px;background:var(--mint);color:var(--green);font-size:13px}.location-matches{max-height:220px;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:6px}.location-matches button{display:block;text-align:start;border:0;background:#fff;color:var(--ink);font-size:13px;padding:10px;width:100%;border-radius:7px}.location-matches button:hover,.location-matches button:focus{background:var(--ice)}#mobile-owner-location{background:var(--ice);border-radius:14px;padding:15px;margin:18px 0}#mobile-owner-location .location-heading{flex-wrap:wrap}#mobile-owner-location .location-fields{gap:12px}.close-dialog{display:block;margin:14px 16px 4px auto;border:0;border-radius:10px;background:var(--ice);padding:7px 12px;color:var(--ink);font-size:12px}#business-detail{padding:8px 20px}#business-detail h2{font-size:23px;overflow-wrap:anywhere}#business-detail p{overflow-wrap:anywhere}#business-detail .pill{margin-top:16px}.business-description{white-space:pre-wrap}.detail-meta{color:var(--muted);font-size:13px}.detail-meta strong{display:block;color:var(--ink)}#mobile-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:105px;width:min(92vw,465px);padding:13px 17px;border-radius:13px;background:#183d31;color:#fff;font-size:13px;z-index:50;box-shadow:0 8px 25px #132b2930}#mobile-toast.error{background:#8c3035}html[dir=ltr] .menu-arrow{transform:rotate(180deg)}html[dir=rtl] .search-submit svg{transform:rotate(180deg)}html[dir=ltr] .welcome h1{line-height:1.3}html[dir=ltr] .bottom-nav>button{font-size:9px}html[dir=ltr] .header-brand .location-link{font-size:10px}
@media(min-width:650px){body{background:#222746 url("/brand/geometry-pattern.svg") center/320px}#mobile-shell{border-inline:1px solid #e8ecef}.welcome{padding-top:28px}}@media(max-width:355px){.welcome{padding-inline:20px}.app-header{padding-inline:10px}.header-brand>img{width:120px}.header-actions{min-width:58px}.category-symbol{width:48px!important;height:48px!important}.bottom-nav>button{font-size:9px}.provider-top{padding-inline:11px}.greeting-block,.category-section{padding-inline:16px}}

button.card-visual{border:0;width:100%;text-align:start;font:inherit}.field input,.field select,.field textarea{font-family:inherit;font-weight:400}

.field input,.field select,.field textarea{font-size:15px;line-height:1.4}
/* Service management uses the same responsive shell in Android and on the web. */
.service-filters,.schedule-editor,.service-detail{padding:16px;border:1px solid #dfe9e4;border-radius:18px;background:#f8fbf9;margin:12px 0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid .field,.form-grid fieldset{min-width:0}.form-grid input,.form-grid select,.form-grid textarea{max-width:100%;width:100%;box-sizing:border-box}
fieldset{border:1px solid #dce8e0;border-radius:14px;padding:14px;margin:12px 0;min-width:0}legend{font-weight:700;padding:0 6px}
.weekdays{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.weekdays label{display:flex;align-items:center;gap:5px;font-size:13px}
.schedule-day{border-top:1px solid #dfe9e4;padding:12px 0}.day-options{padding-inline-start:10px}.hour-period{display:flex;align-items:center;gap:6px;margin:8px 0}.hour-period input{width:calc(50% - 28px);min-width:0;padding:8px;border:1px solid #becfc5;border-radius:9px}.hour-period button{border:0;background:transparent;color:#9b3434;font-size:22px}
.availability-tag{display:inline-flex;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700;margin:8px 0}.availability-tag.available{background:#def4e6;color:#075b36}.availability-tag.unavailable{background:#f2eee6;color:#76582c}.service-line{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.weekly-detail{display:grid;grid-template-columns:1fr 2fr;gap:8px;font-size:14px}.weekly-detail dt{font-weight:700}.weekly-detail dd{margin:0;direction:ltr;text-align:start}
#notification-form .check-field{margin:14px 0}#app-update-result{margin-top:14px}#app-update-result a{margin-top:10px}.service-detail p{overflow-wrap:anywhere}.activity-card button{min-height:40px}#new-category-form{margin-bottom:20px}
@media(max-width:370px){.form-grid{grid-template-columns:1fr}.hour-period{gap:4px}.service-filters,.schedule-editor{padding:10px}}
