@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--green:#22c84a;--green-2:#79ee4e;--deep:#07391d;--ink:#143525;--muted:#708176;--pale:#efffea;--line:#dcebdd;--white:#fff;--danger:#e64c4c;--shadow:0 18px 44px rgba(15,86,33,.12)}*{box-sizing:border-box}html{background:#eef4ef;min-height:100%}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.app-body{background:radial-gradient(circle at top,#d6ffd1,#eef4ef 60%);min-height:100vh}.phone-shell{width:min(100%,560px);min-height:100vh;margin:auto;background:#fbfffa;position:relative;overflow:hidden;padding-bottom:80px;box-shadow:0 0 60px rgba(10,55,25,.1)}.preloader{position:fixed;inset:0;background:linear-gradient(140deg,#0e5826,#25d74f);z-index:9999;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;letter-spacing:.12em;transition:opacity .4s,visibility .4s}.preloader.hidden{visibility:hidden;opacity:0}.preloader small{letter-spacing:.04em;opacity:.75}.loader-orbit{width:70px;height:70px;border-radius:50%;border:3px solid rgba(255,255,255,.27);border-top-color:#fff;display:grid;place-items:center;animation:spin 1s linear infinite}.loader-orbit span{font-size:25px;animation:anti-spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes anti-spin{to{transform:rotate(-360deg)}}.toast{position:fixed;z-index:500;top:18px;left:50%;transform:translateX(-50%);width:min(90%,460px);padding:13px 17px;border-radius:14px;color:#fff;box-shadow:var(--shadow);font-weight:700;animation:toast .3s ease}.toast-success{background:#118e35}.toast-error{background:#c54343}@keyframes toast{from{opacity:0;transform:translate(-50%,-15px)}}.bottom-nav{position:fixed;z-index:100;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,560px);height:74px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 23px max(8px,env(safe-area-inset-bottom))}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:700;color:#8c9b90}.bottom-nav i{font-style:normal;font-size:24px;line-height:22px}.bottom-nav a.active{color:#12ae39}.offline-chip{position:fixed;z-index:1000;bottom:90px;left:50%;transform:translateX(-50%);background:#24342a;color:#fff;font-size:12px;padding:9px 14px;border-radius:30px;box-shadow:var(--shadow)}
/* home */.home-hero{height:384px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,#0a421f 0%,#15983a 50%,#5ce643 100%);border-radius:0 0 42px 42px}.home-hero:before,.home-hero:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);opacity:.35}.home-hero:before{width:360px;height:360px;border:30px solid #cbff92;right:-160px;top:-210px}.home-hero:after{width:260px;height:260px;background:#9aff75;left:-170px;bottom:-170px}.hero-top,.hero-copy{position:relative;z-index:2}.hero-top{padding:25px 22px;display:flex;align-items:center;justify-content:space-between}.wordmark,.access-brand{font-weight:800;letter-spacing:.04em;font-family:Manrope,sans-serif}.wordmark b,.access-brand b{color:#b4ff58}.profile-pill{background:#fff;color:#0b7130;border:2px solid rgba(255,255,255,.55);height:37px;min-width:37px;display:grid;place-items:center;border-radius:50%;font-weight:800}.hero-copy{margin:17px 23px;width:62%}.hero-copy p{font-size:10px;font-weight:800;letter-spacing:.2em;margin:0 0 8px}.hero-copy h1{margin:0;font:800 clamp(28px,8vw,42px)/1.04 Manrope,sans-serif;letter-spacing:-.06em}.hero-copy h1 em{color:#c6ff8f;font-style:normal}.hero-copy span{display:block;margin-top:13px;font-size:12px;line-height:1.4;opacity:.85}.hero-scooter{position:absolute;z-index:2;width:70%;right:-13%;bottom:-7%;filter:drop-shadow(-14px 21px 12px rgba(0,0,0,.22))}.home-content{padding:24px 17px 28px}.quick-intro{padding:3px 4px 17px}.eyebrow,.section-title span,.card-heading p{font-size:10px;letter-spacing:.14em;color:#14aa37;font-weight:800}.quick-intro h2{font:800 23px/1.1 Manrope,sans-serif;margin:6px 0}.quick-intro p{font-size:13px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-card{position:relative;min-height:194px;border-radius:23px;overflow:hidden;padding:15px;color:#fff;isolation:isolate;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(4,49,21,.2),rgba(5,53,28,.01) 55%);z-index:-1}.service-card>div{position:relative;z-index:2;width:75%;display:flex;flex-direction:column;align-items:flex-start}.service-card .service-icon{height:30px;width:30px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;border-radius:10px;font-size:16px}.service-card small{font-size:8px;letter-spacing:.07em;font-weight:800;margin-top:10px}.service-card strong{font:800 18px/1.02 Manrope,sans-serif;letter-spacing:-.06em;margin-top:4px}.service-card em{font-style:normal;font-weight:700;font-size:10px;margin-top:10px}.service-card img{position:absolute;right:-13%;bottom:-13%;width:81%;height:auto;z-index:1;filter:drop-shadow(-8px 10px 7px rgba(0,0,0,.18))}.repair{background:linear-gradient(135deg,#218b3d,#7edf49)}.charging{background:linear-gradient(135deg,#1a946b,#4ddbd0)}.spares{background:linear-gradient(135deg,#3f7c34,#a2df5d)}.market{background:linear-gradient(135deg,#3d9061,#45cd76)}.market img{width:86%;right:-17%;bottom:-8%}.ad-section{padding-top:24px}.section-title{display:flex;justify-content:space-between;align-items:end;padding:0 4px 10px}.section-title small{font-size:11px;color:var(--muted)}.ad-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none;padding:0 1px 3px}.ad-slider::-webkit-scrollbar{display:none}.banner-ad{min-width:100%;scroll-snap-align:start;min-height:116px;border-radius:20px;background:#e0ffd6;overflow:hidden;position:relative;display:flex;align-items:center;padding:15px}.banner-ad img{width:44%;height:125%;object-fit:contain;order:2;margin-left:auto}.banner-ad div{width:54%}.banner-ad small{display:block;color:#279846;letter-spacing:.12em;font-size:8px;font-weight:800}.banner-ad strong{display:block;font:800 17px/1.05 Manrope,sans-serif;margin:5px 0}.banner-ad span{font-size:10px;color:#3c5a46}.add-location-cta{background:#f0fbeb;border:1px solid #cfecc8;border-radius:21px;padding:15px;margin-top:24px;display:flex;gap:8px;align-items:center}.add-location-cta>div{flex:1}.add-location-cta span{color:#1ab745;font-size:22px;float:left;margin:1px 9px 15px 0}.add-location-cta h3{font:800 14px Manrope;margin:0}.add-location-cta p{font-size:11px;color:var(--muted);line-height:1.35;margin:4px 0 0}.add-location-cta a{background:var(--green);color:#fff;border-radius:15px;min-width:84px;padding:9px 7px;text-align:center;font-size:10px;font-weight:800}.add-location-cta b{font-size:15px}.ad-modal{position:fixed;inset:0;z-index:400;background:rgba(5,42,17,.5);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.25s}.ad-modal.show{opacity:1;visibility:visible}.ad-modal-card{position:relative;background:#f4ffef;border-radius:24px;width:min(100%,350px);padding:10px;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.35)}.ad-modal-card img{width:72%;max-height:240px;object-fit:contain;display:block;margin:auto}.ad-modal-card span{color:#27ad40;text-transform:uppercase;font-size:9px;letter-spacing:.14em;font-weight:800}.ad-modal-card h3{margin:4px 0;font:800 21px Manrope}.ad-modal-card small{color:var(--muted)}.modal-close{position:absolute;right:11px;top:11px;border:0;background:#173d24;color:#fff;border-radius:50%;width:27px;height:27px;font-size:20px;line-height:20px}
/* headers and forms */.app-header{padding:21px 18px 14px;background:linear-gradient(135deg,#0d632a,#38d654);color:#fff;border-radius:0 0 25px 25px}.header-row{display:flex;align-items:center;gap:11px}.header-row h1{font:800 21px Manrope;margin:0;letter-spacing:-.04em}.header-row p{margin:2px 0 0;font-size:11px;opacity:.79}.brand-mark{width:37px;height:37px;background:#d3ff97;color:#0d7a2c;display:grid;place-items:center;border-radius:13px}.icon-button{width:37px;height:37px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.18);color:inherit;border:0;font-size:22px}.header-action{margin-left:auto}.form-page,.profile-page{padding:19px 17px 28px}.type-tabs{display:flex;background:#eff6ee;border-radius:16px;padding:4px;gap:4px;margin-bottom:16px}.type-tabs button{border:0;background:transparent;color:#718076;font-weight:800;font-size:12px;flex:1;padding:10px 5px;border-radius:12px}.type-tabs button.active{background:#fff;color:#169c38;box-shadow:0 3px 10px rgba(10,60,25,.1)}.stack-form{display:grid;gap:13px}.form-section{border:1px solid var(--line);background:#fff;border-radius:20px;padding:17px}.form-section h2{font:800 16px Manrope;margin:0}.form-section>p{font-size:11px;color:var(--muted);line-height:1.45;margin:4px 0 13px}.stack-form label{display:grid;gap:6px;font-size:11px;color:#4e6254;font-weight:700;margin-top:10px}.stack-form input,.stack-form textarea,.stack-form select,.admin-search input,.inline-review input,.inline-edit textarea{width:100%;border:1px solid #d7e7d8;background:#fbfefb;border-radius:11px;padding:11px 12px;color:var(--ink);outline:none;transition:.2s}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.admin-search input:focus{border-color:#42c95e;box-shadow:0 0 0 3px rgba(37,203,73,.12)}.stack-form textarea{resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-section fieldset,.auth-form fieldset{border:0;padding:0;margin:13px 0 0}.form-section legend,.auth-form legend{font-size:11px;color:#4e6254;font-weight:700;margin-bottom:7px}.day-pills{display:flex;gap:5px;flex-wrap:wrap}.day-pills label{margin:0!important;position:relative}.day-pills input,.segmented input{position:absolute;opacity:0;pointer-events:none}.day-pills span{display:block;border:1px solid #d7e7d8;border-radius:9px;padding:6px 8px;color:#65756a;font-size:10px}.day-pills input:checked+span{background:#dcffd2;color:#129e35;border-color:#7fdf79}.check-row{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;color:#3d5043!important}.check-row input{width:17px!important;height:17px}.mobile-service{padding:9px 0}.picker-map{height:210px;border-radius:14px;border:1px solid var(--line);margin-top:10px;overflow:hidden}.map-picker-action{background:#ecffe7;border:0;border-radius:10px;padding:9px 11px;color:#159b36;font-size:11px;font-weight:800;margin-top:9px}.upload-box{min-height:132px;border:1.5px dashed #80d88a;border-radius:15px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative;background:#f6fff3}.upload-box input{display:none}.upload-box span{font-size:25px;color:#1eb845}.upload-box strong{font-size:12px;color:#28733a}.upload-box small{font-size:10px;color:var(--muted)}.upload-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.primary-button,.outline-button,.admin-button{border:0;border-radius:14px;padding:14px 16px;font-weight:800;font-size:13px;background:linear-gradient(100deg,#17ad3b,#5dde48);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 9px 18px rgba(24,184,59,.18)}.primary-button span{font-size:17px}.outline-button{background:#fff;color:#168e32;border:1px solid #81d889;display:block;text-align:center;box-shadow:none}.password-form{margin:21px 0}.text-danger{border:0;background:none;color:#d34242;font-weight:800;padding:8px 0}.admin-shortcut{display:block;background:#dfffd4;color:#188d31;border-radius:13px;padding:12px;text-align:center;font-size:12px;font-weight:800;margin-bottom:13px}
/* maps */.map-page{padding:0}.map-shell{height:100vh;width:100%;position:relative;overflow:hidden}.map-shell #map{position:absolute;inset:0;background:#d5ecdc}.map-topbar{position:absolute;z-index:20;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;display:flex;align-items:center;gap:10px;color:#fff}.map-topbar>div{background:rgba(6,82,31,.88);backdrop-filter:blur(8px);padding:8px 13px;border-radius:15px;display:flex;flex-direction:column;line-height:1}.map-topbar small{font-size:8px;letter-spacing:.13em;opacity:.75}.map-topbar strong{font:800 14px Manrope;margin-top:4px}.map-back,.map-add{height:39px;width:39px;display:grid;place-items:center;background:#fff;color:#166c2e;border-radius:14px;font-size:23px;box-shadow:var(--shadow)}.map-add{margin-left:auto;background:#1fc347;color:#fff}.map-search{position:absolute;z-index:20;top:83px;left:14px;right:14px;height:48px;padding:4px 5px 4px 13px;background:#fff;border-radius:15px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow)}.map-search span{font-size:20px;color:#37bd4d}.map-search input{border:0;outline:0;min-width:0;flex:1;font-size:12px}.map-search button,.mobile-filter{border:0;background:#ddffd4;color:#149336;border-radius:11px;padding:9px 10px;font-weight:800;font-size:10px;white-space:nowrap}.mobile-filter{position:absolute;z-index:20;top:140px;left:14px;box-shadow:0 5px 12px rgba(0,0,0,.13)}.mobile-filter.active{background:#129c35;color:#fff}.map-status{position:absolute;z-index:20;top:143px;right:14px;background:rgba(255,255,255,.92);box-shadow:var(--shadow);padding:8px 10px;border-radius:11px;font-size:10px;font-weight:800;color:#53725b}.map-shell:has(.mobile-filter) .map-status{top:143px}.floating-add{position:absolute;z-index:30;right:18px;bottom:270px;width:48px;height:48px;border-radius:50%;border:4px solid #fff;background:var(--green);color:#fff;font-size:29px;box-shadow:var(--shadow)}.map-sheet{position:absolute;z-index:20;bottom:0;left:0;right:0;min-height:237px;background:#fff;border-radius:28px 28px 0 0;padding:8px 18px 20px;box-shadow:0 -12px 30px rgba(0,40,15,.12);transition:transform .25s}.sheet-handle{width:36px;height:4px;background:#d2dfd4;border-radius:6px;margin:0 auto 14px}.sheet-empty{text-align:center;color:var(--muted);padding:27px}.sheet-empty span{display:block;color:#33c54b;font-size:28px}.sheet-empty strong{display:block;color:#385741;margin:6px}.sheet-empty p{font-size:12px;margin:0}.pin-icon{background:transparent;border:0}.map-pin{width:35px;height:35px;color:#fff;background:#22bd45;border:3px solid white;border-radius:50% 50% 50% 0;display:grid;place-items:center;transform:rotate(-45deg);box-shadow:0 3px 8px rgba(7,84,34,.35)}.map-pin b{font-size:13px;transform:rotate(45deg)}.location-card{display:grid;grid-template-columns:82px 1fr;gap:12px}.location-card>img{width:82px;height:94px;object-fit:cover;background:#ddffd5;border-radius:15px}.location-type{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#1aa63b}.location-card h2{font:800 17px/1.1 Manrope;margin:3px 0}.location-meta{font-size:11px;color:var(--muted);margin:5px 0}.open-now{display:inline-flex;gap:5px;font-size:10px;color:#199f37;font-weight:800}.open-now.closed{color:#c25242}.location-card>div{min-width:0}.location-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:2px}.location-actions a,.location-actions button{border:0;background:#e8ffe3;color:#168e34;border-radius:10px;padding:9px 4px;text-align:center;font-size:10px;font-weight:800}.location-actions .navigate{background:#20b942;color:#fff}.route-details{grid-column:1/-1;font-size:10px;color:#4e6655;background:#f4faf3;border-radius:9px;padding:7px 9px}.leaflet-routing-container{display:none}.leaflet-control-attribution{font-size:8px!important}
/* access, profile, chat */.access-page{min-height:100vh;background:linear-gradient(150deg,#0f6d2d,#5be24a 47%,#f7fff3 47%);padding:24px 17px}.access-brand{color:#fff;font-size:16px;position:relative;z-index:2}.access-art{height:220px;position:relative}.access-art img{position:absolute;width:235px;right:-15px;top:-13px;filter:drop-shadow(-10px 12px 8px rgba(0,0,0,.19))}.access-card{background:#fff;border-radius:26px;padding:16px;box-shadow:var(--shadow);position:relative}.auth-tabs{display:flex;background:#eef7ec;border-radius:12px;padding:3px}.auth-tabs button{flex:1;border:0;background:transparent;color:#849486;font-weight:800;font-size:12px;padding:10px;border-radius:9px}.auth-tabs button.active{background:#fff;color:#17a338;box-shadow:0 2px 8px rgba(0,0,0,.08)}.auth-form{display:grid;gap:11px;padding:12px 1px 2px}.auth-form.hidden{display:none}.auth-form h1{font:800 21px Manrope;margin:4px 0 -8px}.auth-form>p{font-size:12px;color:var(--muted);margin:0}.auth-form label{display:grid;gap:5px;color:#526158;font-size:11px;font-weight:800}.auth-form input{border:1px solid var(--line);padding:10px 11px;border-radius:10px;outline:none}.auth-form>small{color:var(--muted);font-size:10px;text-align:center;line-height:1.4}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:7px}.segmented label{position:relative}.segmented span{display:block;border:1px solid var(--line);padding:9px 7px;border-radius:10px;text-align:center;font-size:10px;color:#607064}.segmented input:checked+span{background:#e5ffdc;color:#159d36;border-color:#6ed676}.customer-fields{display:grid;gap:8px}.customer-fields.hidden{display:none}.profile-hero{display:flex;gap:13px;align-items:center;padding:4px 4px 19px}.avatar-large{width:63px;height:63px;border-radius:22px;background:linear-gradient(135deg,#18a83a,#90ed51);color:#fff;display:grid;place-items:center;font:800 26px Manrope}.profile-hero span{font-size:11px;color:var(--muted)}.profile-hero h2{font:800 21px Manrope;margin:2px 0}.profile-hero small{color:#16a138;font-size:10px;font-weight:800}.chat-page{height:100vh;display:flex;flex-direction:column;background:#f7fbf6}.chat-header{display:flex;align-items:center;gap:10px;padding:17px 15px 12px;background:#fff;border-bottom:1px solid var(--line)}.chat-header .icon-button{background:#eaffdf;color:#199c37}.chat-title{display:flex;gap:8px;align-items:center;flex:1}.chat-title h1{margin:0;font:800 16px Manrope}.chat-title small{font-size:10px;color:var(--muted)}.online-dot{height:10px;width:10px;border-radius:50%;background:#3ed85a;box-shadow:0 0 0 4px #dbffde}.chat-info{display:flex;gap:8px;align-items:center;background:#eaffdf;color:#31713e;padding:9px 15px;font-size:10px}.chat-info span{font-size:17px}.chat-info p{margin:0;line-height:1.3}.messages{overflow:auto;flex:1;padding:16px 14px 110px;display:flex;gap:13px;flex-direction:column}.message{display:flex;gap:7px;max-width:88%;align-items:flex-start}.message.mine{align-self:flex-end;flex-direction:row-reverse}.message-avatar{min-width:28px;height:28px;border-radius:10px;background:#d9fbd5;color:#1a9140;display:grid;place-items:center;font-size:11px;font-weight:800}.bubble{background:#fff;border:1px solid #e1ece1;border-radius:5px 16px 16px 16px;padding:9px 10px;box-shadow:0 3px 9px rgba(21,72,31,.04)}.mine .bubble{background:#dfffd4;border-color:#d2f4c8;border-radius:16px 5px 16px 16px}.message-name{font-size:10px;font-weight:800;color:#159438}.message-name small{color:#758276;margin-left:4px}.bubble p{font-size:12px;line-height:1.42;margin:4px 0}.reply-preview{background:rgba(22,130,53,.08);border-left:2px solid #35bd4c;padding:4px 6px;color:#627767;font-size:10px;margin:5px 0}.message-meta{display:flex;align-items:center;gap:7px;justify-content:flex-end;margin-top:3px}.message-meta time,.message-meta button{font-size:9px;color:#809083;border:0;background:transparent;padding:0}.message-meta button{font-size:12px}.chat-media{display:block;max-width:190px;max-height:190px;border-radius:10px;margin-top:7px}.deleted-message{font-style:italic;color:#8b918c}.empty-chat{text-align:center;margin:auto;color:var(--muted)}.empty-chat span{font-size:35px;color:#21b944}.empty-chat h2{font:800 18px Manrope;margin:4px}.empty-chat p{font-size:12px}.chat-composer{position:absolute;z-index:10;bottom:0;left:0;right:0;display:grid;grid-template-columns:37px 1fr 41px;gap:7px;align-items:end;padding:9px 12px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.chat-composer textarea{border:1px solid var(--line);background:#f8fcf7;border-radius:17px;padding:10px 13px;resize:none;min-height:40px;max-height:120px;outline:0;font-size:12px}.media-button{height:38px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;color:#199f38;font-size:17px}.media-button input{display:none}.send-button{height:39px;border:0;background:#1bbb42;color:#fff;border-radius:50%;font-size:20px}.replying{grid-column:1/-1;display:flex;justify-content:space-between;background:#efffec;color:#4b7952;border-radius:8px;padding:5px 8px;font-size:10px}.replying button{border:0;background:transparent;font-size:16px;color:#47714e}
/* admin */.admin-body{min-height:100vh;background:#f4f8f4;color:#1b3626;display:grid;grid-template-columns:245px 1fr}.admin-sidebar{position:fixed;top:0;bottom:0;width:245px;background:linear-gradient(175deg,#087225,#16b93e);color:#fff;padding:24px 13px;display:flex;flex-direction:column}.admin-brand{padding:0 12px 25px;font:800 17px Manrope;letter-spacing:.03em}.admin-brand span{color:#c8ff81}.admin-brand small{display:block;font-size:8px;letter-spacing:.2em;margin-left:22px;color:#c8ff81}.admin-sidebar nav{display:grid;gap:3px}.admin-sidebar nav a{padding:11px 12px;border-radius:10px;font-size:12px;font-weight:700;color:rgba(255,255,255,.78)}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:rgba(255,255,255,.16);color:#fff}.admin-bottom{margin-top:auto;display:grid;gap:10px;padding:11px 12px;border-top:1px solid rgba(255,255,255,.22);font-size:11px;font-weight:700}.admin-bottom button{padding:0;background:none;border:0;color:#fff;font-weight:700;font-size:11px}.admin-main{grid-column:2;padding:27px clamp(22px,4vw,60px) 50px;max-width:1560px;width:100%;margin:auto}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.admin-header p{font-size:11px;color:#6d8574;margin:0}.admin-header h1{font:800 28px Manrope;margin:3px 0}.admin-user{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:12px;font-weight:800}.admin-user span{color:#18bb43}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:17px}.stat-grid article,.admin-card{background:#fff;border:1px solid #e0ebe0;border-radius:17px;padding:18px;box-shadow:0 7px 18px rgba(32,84,45,.04)}.stat-grid span{float:right;color:#32be4c;font-size:20px}.stat-grid p{margin:0;color:#6b8373;font-size:11px}.stat-grid strong{font:800 29px Manrope;display:block;margin:6px 0}.stat-grid a,.card-heading>a{font-size:10px;font-weight:800;color:#15a538}.admin-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:17px;margin-bottom:17px}.admin-card{margin-bottom:17px}.admin-grid .admin-card{margin-bottom:0}.card-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:14px}.card-heading h2{font:800 18px Manrope;margin:3px 0}.card-heading small{font-size:11px;display:block;line-height:1.35;color:#738479;max-width:530px}.chart-wrap{height:230px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-actions a{padding:13px 10px;background:#f3fff0;border:1px solid #dbf0d6;border-radius:11px;color:#288341;font-size:11px;font-weight:800}.table-wrap{overflow:auto}.admin-card table{border-collapse:collapse;width:100%;min-width:660px}.admin-card th{text-align:left;font-size:9px;letter-spacing:.1em;color:#7d8d82;padding:10px;border-bottom:1px solid #e6eee7}.admin-card td{padding:12px 10px;border-bottom:1px solid #edf2ed;font-size:11px;vertical-align:top}.admin-card td strong,.admin-card td small{display:block}.admin-card td small{font-size:9px;color:#7a8a7e;margin-top:3px}.status{padding:4px 8px;border-radius:20px;font-size:9px;font-weight:800;text-transform:capitalize}.status-approved{background:#dcffdc;color:#15913a}.status-pending{background:#fff5d6;color:#a37100}.status-rejected{background:#ffe0e0;color:#b23c3c}.filter-row{display:flex;gap:8px;margin-bottom:12px}.filter-row a{border:1px solid var(--line);border-radius:20px;padding:6px 10px;color:#56715d;font-size:10px;font-weight:800}.filter-row a:hover{color:#15983a;background:#efffeb}.inline-review{display:flex;gap:5px;align-items:center;min-width:240px}.inline-review select,.inline-review input,.inline-edit textarea{padding:6px 7px;font-size:10px}.inline-review input{min-width:95px}.inline-review button,.inline-edit button{border:0;background:#1cb142;color:#fff;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:800}.icon-delete{border:0;background:#ffe8e8;color:#cf4545;border-radius:8px;width:25px;height:25px;font-size:17px}.admin-search{display:flex;gap:6px}.admin-search button,.danger-button{border:0;border-radius:9px;background:#23b947;color:#fff;padding:9px 11px;font-size:10px;font-weight:800}.admin-actions{display:flex;gap:7px}.danger-button{background:#de4a4a}.csv-form{max-width:900px}.csv-map{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.csv-map label{font-size:10px;font-weight:800;color:#58705f}.csv-map select{width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px}.csv-form .admin-button{margin-top:12px}.ads-admin{display:grid;gap:12px}.ads-admin article{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:10px;background:#f8fcf7;border-radius:13px}.ads-admin img{width:96px;height:100px;object-fit:contain;background:#eaffdf;border-radius:10px}.ads-admin h3{font:800 14px Manrope;margin:6px 0}.ads-admin .inline-review{min-width:0;display:grid;grid-template-columns:85px 55px 1fr auto;margin-bottom:6px}.ads-admin .inline-review input{min-width:0}.settings-card{max-width:620px}.compact{max-width:600px}.rating{color:#e8ad18;font-size:12px!important}.pagination{margin-top:14px;display:flex;gap:4px}.pagination>*{border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-size:10px}.pagination .active{background:#1cb143;color:#fff}
@media(max-width:850px){.admin-body{display:block}.admin-sidebar{position:static;width:100%;padding:13px;flex-direction:row;align-items:center;gap:10px}.admin-brand{padding:0;font-size:13px}.admin-brand small{display:none}.admin-sidebar nav{display:flex;overflow:auto;gap:2px;flex:1}.admin-sidebar nav a{white-space:nowrap;padding:8px;font-size:10px}.admin-bottom{margin:0;padding:0;border:0;display:flex;white-space:nowrap}.admin-main{padding:19px 14px}.admin-header h1{font-size:22px}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-grid article,.admin-card{padding:14px}.admin-grid{grid-template-columns:1fr}.csv-map{grid-template-columns:1fr 1fr}.admin-actions{flex-direction:column}.ads-admin .inline-review{grid-template-columns:1fr 1fr}.ads-admin .inline-review input{grid-column:1/-1}.admin-card table{min-width:600px}}@media(min-width:561px){.home-hero{border-radius:0 0 50px 50px}.service-card{min-height:210px}.map-page.phone-shell{width:min(100%,950px)}}@media(max-width:380px){.service-card strong{font-size:16px}.service-card{min-height:180px}.hero-copy h1{font-size:29px}.add-location-cta a{min-width:70px}.csv-map{grid-template-columns:1fr}}

.table-edit{display:inline-block;margin-top:6px;color:#179d38;font-weight:800;font-size:10px}
.review-modal{position:fixed;z-index:300;inset:0;display:grid;place-items:end center;background:rgba(2,38,13,.38);padding:18px;opacity:0;visibility:hidden;transition:.2s}.review-modal.show{visibility:visible;opacity:1}.review-card{position:relative;width:min(100%,540px);background:#fff;border-radius:24px;padding:21px;display:grid;gap:10px}.review-card h2{font:800 20px Manrope;margin:0}.review-card label{font-size:11px;font-weight:800;color:#536a5a;display:grid;gap:6px}.review-card select,.review-card textarea{border:1px solid var(--line);border-radius:10px;padding:10px;outline:0}.review-card textarea{resize:vertical}

/* SUPPORT EV PDF reference - mobile app visual system */
:root{--pdf-green:#00bd35;--pdf-lime:#a5ff68;--pdf-soft:#ebebeb;--pdf-map:#84d7e8}.app-body{background:#edf4ed}.phone-shell{width:min(100%,648px);padding-bottom:86px;background:#fff;box-shadow:0 0 54px rgba(10,87,30,.14)}.pdf-bottom-nav{width:min(100%,648px);height:78px;padding:5px 47px max(5px,env(safe-area-inset-bottom));border:0;background:linear-gradient(105deg,#00b936,#afff68);box-shadow:0 -4px 14px rgba(9,96,35,.15)}.pdf-bottom-nav a{height:67px;color:#fff;position:relative;z-index:1}.pdf-bottom-nav a span{display:none}.pdf-bottom-nav i{font-family:Arial,sans-serif;font-style:normal;font-size:42px;line-height:1;font-weight:700;text-shadow:none}.pdf-bottom-nav a:nth-child(2){transform:translateY(-22px);background:linear-gradient(145deg,#00ad32,#a7ff65);width:92px;max-width:32vw;flex:0 0 92px;border-radius:38px;box-shadow:0 8px 13px rgba(0,100,31,.2)}.pdf-bottom-nav a:nth-child(2) i{font-size:43px;transform:rotate(180deg);font-family:Arial,sans-serif}.pdf-bottom-nav a.active{color:#fff}.pdf-bottom-nav a.active:after{display:none}

/* Home */
.reference-home{background:#fff;min-height:100vh}.pdf-home-hero{height:211px;border-radius:0;background:linear-gradient(105deg,#00b737 0%,#2ed449 50%,#a7ff66 100%)}.pdf-home-hero:before,.pdf-home-hero:after,.pdf-home-hero .hero-top,.pdf-home-hero .hero-scooter{display:none}.pdf-home-hero .hero-copy{width:auto;margin:0;padding:71px 30px 0;color:#fff}.pdf-home-hero .hero-copy p{margin:0;font:500 clamp(17px,4.9vw,29px)/1 "DM Sans",sans-serif;letter-spacing:0}.pdf-home-hero .hero-copy h1{margin:1px 0 3px;font:800 clamp(36px,10vw,59px)/.98 "DM Sans",sans-serif;letter-spacing:.015em;color:#fff}.pdf-home-hero .hero-copy h1 em{color:#fff}.pdf-home-hero .hero-copy span{margin:0;font:400 clamp(12px,3.2vw,19px)/1.2 "DM Sans",sans-serif;opacity:1}.pdf-home-content{position:relative;margin-top:-1px;padding:26px 23px 23px;border-radius:54px 54px 0 0;background:#fff;min-height:680px}.pdf-intro{padding:0 2px 18px;text-align:center;color:#050505}.pdf-intro p{margin:0;font-size:21px;line-height:.95;color:#050505}.pdf-intro sup{font-size:12px}.pdf-intro h2{margin:1px 0 0;font:800 clamp(23px,6.1vw,37px)/1 "DM Sans",sans-serif;letter-spacing:-.035em;color:#050505}.pdf-intro span{display:block;font:400 clamp(17px,4.25vw,26px)/1 "DM Sans",sans-serif;color:#050505}.pdf-service-grid{gap:12px}.pdf-service-grid .service-card{min-height:126px;padding:0;border-radius:28px;background:var(--pdf-soft);color:#050505;box-shadow:none;isolation:auto}.pdf-service-grid .service-card:after{display:none}.pdf-service-grid .service-card img{width:52%;height:94%;object-fit:contain;left:1px;right:auto;bottom:2px;filter:none;z-index:1}.pdf-service-grid .service-card>div{position:absolute;z-index:2;left:48%;top:34px;width:49%;display:block}.pdf-service-grid .service-card small{display:block;margin:0;font-size:8px;line-height:1.05;font-weight:500;letter-spacing:0;color:#111}.pdf-service-grid .service-card strong{display:block;margin:3px 0 0;font:800 clamp(13px,3.55vw,22px)/.94 "DM Sans",sans-serif;letter-spacing:-.03em}.pdf-service-grid .service-card em{display:block;margin:2px 0 0;font-size:9px;font-style:normal;letter-spacing:0}.pdf-service-grid .market:before{content:'COMING SOON';position:absolute;z-index:5;right:0;top:5px;color:#fff;background:#db0000;border-radius:18px 0 0 18px;padding:5px 8px;font-size:8px;font-weight:800}.pdf-service-grid .market>div{top:43px}.pdf-service-grid .market>div small{display:none}.takashi-project{margin:20px 0 17px;border-radius:22px;background:linear-gradient(105deg,#00b936,#a7ff66);color:#fff;text-align:center;padding:14px 9px}.takashi-project small,.takashi-project strong{display:block}.takashi-project small{font-size:10px;letter-spacing:.09em}.takashi-project strong{font:800 clamp(16px,4.2vw,25px)/1.12 "DM Sans",sans-serif;letter-spacing:-.02em}.ad-section{padding-top:0}.section-title{display:none}.banner-ad{min-height:162px;padding:9px;border:3px solid #08b837;border-radius:23px;background:#effeed}.banner-ad img{width:57%;height:145%;object-fit:contain}.banner-ad div{width:44%}.banner-ad strong{font-size:17px}.add-location-cta{border-radius:21px;margin:17px 0 0;padding:13px;background:#f1ffed}.add-location-cta a{min-width:73px;background:linear-gradient(105deg,#04b939,#a6ff65);font-size:11px}

/* Map reference screen - Leaflet/OpenStreetMap stays fully functional below the PDF-style chrome. */
.map-page{padding:0}.map-shell{height:100dvh;background:var(--pdf-map);padding-bottom:78px}.map-reference-heading{position:absolute;z-index:26;inset:0 0 auto;height:178px;padding:32px 29px;background:linear-gradient(105deg,#00b737,#a9ff67);color:#fff}.map-reference-heading h1{margin:0;font:800 clamp(28px,8.2vw,50px)/.95 "DM Sans",sans-serif;letter-spacing:-.03em}.map-reference-heading p{margin:7px 0 0;font:400 clamp(13px,3.5vw,21px)/1 "DM Sans",sans-serif}.map-shell #map{top:177px;bottom:0;background:var(--pdf-map)}.map-topbar{display:none}.map-search{z-index:30;top:145px;left:25px;right:25px;height:53px;padding:5px 12px 5px 7px;border-radius:32px;box-shadow:none;border:0}.map-search button{height:42px;padding:0 20px;border-radius:25px;background:linear-gradient(105deg,#01b738,#a8ff66);color:#fff;font-size:12px;letter-spacing:.02em}.map-search input{padding-left:10px;font-size:12px}.map-search span{font-size:29px;color:#00bc35}.mobile-filter{z-index:30;top:207px;left:29px;background:linear-gradient(105deg,#01b738,#a8ff66);color:#fff;border-radius:22px;padding:9px 17px;font-size:10px;box-shadow:0 3px 8px rgba(0,99,28,.18)}.map-status,.map-shell:has(.mobile-filter) .map-status{z-index:30;top:210px;right:27px;font-size:9px;padding:7px 9px}.floating-add{z-index:33;bottom:176px;right:29px;width:71px;height:71px;border:0;background:linear-gradient(145deg,#00b837,#acff68);font-size:47px;line-height:1}.map-sheet{z-index:31;bottom:78px;min-height:206px;padding:6px 19px 16px;border-radius:29px 29px 0 0}.sheet-handle{margin-bottom:10px}.location-card{grid-template-columns:96px 1fr;gap:12px}.location-card>img{width:96px;height:99px;border-radius:5px}.location-card h2{font-size:20px;text-transform:uppercase}.location-meta{margin:3px 0;font-size:10px}.location-actions{grid-template-columns:repeat(3,1fr)}.location-actions a,.location-actions button{padding:8px 3px;border-radius:18px}.location-actions .navigate{background:#0a57b8}.route-details{font-size:10px}.leaflet-bottom{bottom:286px}.leaflet-control-zoom{border:0!important;box-shadow:0 3px 8px rgba(0,0,0,.12)!important}.leaflet-control-zoom a{color:#0ab83b!important;border:0!important}.map-pin{background:#e60000;width:33px;height:33px}

/* Forms, registration and profile */
.reference-page-heading{padding:31px 27px 42px;color:#fff;background:linear-gradient(105deg,#00b737,#a9ff67)}.reference-page-heading h1{margin:0;font:800 clamp(28px,8.1vw,51px)/.98 "DM Sans",sans-serif;letter-spacing:-.03em}.reference-page-heading p{margin:7px 0 0;font-size:16px;letter-spacing:.02em}.pdf-form-page,.pdf-profile-page{margin-top:-20px;padding:35px 22px 25px;background:#fff;border-radius:47px 47px 0 0}.pdf-form-page .type-tabs{margin:0 0 15px;border:2px solid #62e463;border-radius:32px;padding:0;background:#fff;overflow:hidden}.pdf-form-page .type-tabs button{padding:13px 5px;border-radius:28px;color:#0fbd37;font-size:12px}.pdf-form-page .type-tabs button.active{color:#fff;background:linear-gradient(105deg,#00b737,#a9ff67);box-shadow:none}.pdf-form-page .stack-form{gap:12px}.pdf-form-page .form-section{padding:0;border:0;border-radius:0;background:transparent}.pdf-form-page .form-section h2,.pdf-form-page .form-section>p{display:none}.pdf-form-page .form-section label:not(.check-row){display:grid;grid-template-columns:40% 60%;align-items:center;gap:0;min-height:48px;margin:10px 0 0;padding:0;border:2px solid #8def64;border-radius:28px;overflow:hidden;background:linear-gradient(90deg,#00b837 0%,#9cff64 40%,#fff 40%);color:#fff;font-size:11px;text-align:center}.pdf-form-page .form-section label:not(.check-row) input,.pdf-form-page .form-section label:not(.check-row) textarea,.pdf-form-page .form-section label:not(.check-row) select{grid-column:2;grid-row:1;min-width:0;min-height:44px;margin:0;border:0;background:transparent;border-radius:0;padding:10px 13px;color:#4f4f4f;box-shadow:none;text-align:left}.pdf-form-page .form-section label:not(.check-row) textarea{resize:vertical}.pdf-form-page .two-fields{gap:8px}.pdf-form-page .two-fields label:not(.check-row){grid-template-columns:45% 55%;font-size:9px}.pdf-form-page .form-section fieldset{margin:10px 0 0}.pdf-form-page .form-section legend{padding:0 6px;color:#14a238}.pdf-form-page .day-pills{padding:7px;background:#f5fff1;border-radius:15px}.pdf-form-page .day-pills span{background:#fff}.pdf-form-page .check-row{padding:7px 8px;margin:8px 0!important;border-radius:12px;background:#efffeb}.pdf-form-page .picker-map{height:180px;border:4px solid #12bf42;border-radius:18px}.pdf-form-page .upload-box{min-height:105px}.pdf-form-page .primary-button,.pdf-profile-page .primary-button{width:max-content;margin-left:auto;border-radius:22px;padding:13px 25px;font-size:13px;background:linear-gradient(105deg,#00b737,#a9ff67)}.pdf-profile-page{padding-top:55px;min-height:780px}.profile-reference-heading{padding-bottom:72px}.pdf-profile-page .profile-hero{padding:0 4px 38px;display:block}.pdf-profile-page .profile-hero span{display:block;color:#43dc52;font-size:35px;line-height:1}.pdf-profile-page .profile-hero h2{margin:1px 0;font:800 clamp(36px,10vw,61px)/1 "DM Sans",sans-serif;color:#00bd35}.pdf-profile-page .profile-hero small{font-size:11px}.pdf-profile-page .form-section{border:0;border-radius:0;padding:0;background:transparent}.pdf-profile-page .form-section h2{display:none}.pdf-profile-page .stack-form{gap:12px}.pdf-profile-page .form-section label{display:grid;grid-template-columns:40% 60%;align-items:center;gap:0;min-height:48px;margin:10px 0 0;padding:0;border:2px solid #8def64;border-radius:28px;overflow:hidden;background:linear-gradient(90deg,#00b837 0%,#9cff64 40%,#fff 40%);color:#fff;font-size:11px;text-align:center}.pdf-profile-page .form-section label input{grid-column:2;grid-row:1;min-width:0;min-height:44px;border:0;background:transparent;border-radius:0;padding:10px 13px;color:#5a5a5a;box-shadow:none}.pdf-profile-page .password-form{margin-top:28px}.pdf-profile-page .outline-button{width:max-content;border:0;border-radius:22px;padding:13px 25px;color:#fff;background:linear-gradient(105deg,#00b737,#a9ff67)}

.pdf-access-page{min-height:100vh;padding:0 22px 105px;background:linear-gradient(105deg,#00b737,#a9ff67)}.pdf-access-page .access-brand{position:absolute;z-index:4;top:23px;left:18px;color:#fff;font-size:25px}.pdf-access-heading{padding:65px 0 25px;color:#fff}.pdf-access-heading h1{margin:0;font:800 clamp(28px,8.2vw,52px)/.95 "DM Sans",sans-serif;letter-spacing:-.035em}.pdf-access-heading p{margin:7px 0 0;font-size:16px}.pdf-access-page .access-art{display:none}.pdf-access-page .access-card{padding:38px 20px 27px;border-radius:48px;box-shadow:none}.pdf-access-page .auth-tabs{border:2px solid #43d950;border-radius:30px;padding:0;background:#fff;overflow:hidden}.pdf-access-page .auth-tabs button{padding:13px;color:#00b936;border-radius:28px;background:transparent;font-size:14px}.pdf-access-page .auth-tabs button.active{color:#fff;background:linear-gradient(105deg,#00b737,#a9ff67);box-shadow:none}.pdf-access-page .auth-form{padding-top:58px;gap:15px}.pdf-access-page .auth-form h1,.pdf-access-page .auth-form>p{display:none}.pdf-access-page .auth-form label:not(.check-row){display:grid;grid-template-columns:40% 60%;align-items:center;gap:0;min-height:48px;margin:0;border:2px solid #8def64;border-radius:28px;overflow:hidden;background:linear-gradient(90deg,#00b837 0%,#9cff64 40%,#fff 40%);color:#fff;font-size:11px;text-align:center}.pdf-access-page .auth-form label:not(.check-row) input{grid-column:2;grid-row:1;min-width:0;border:0;background:transparent;padding:10px 13px;color:#555;outline:0}.pdf-access-page .auth-form .primary-button{width:max-content;margin:17px auto 0;border-radius:22px;padding:13px 34px;background:linear-gradient(105deg,#00b737,#a9ff67)}.pdf-access-page .auth-form fieldset{border:0;margin:-2px 0}.pdf-access-page .auth-form legend{color:#10a937}.pdf-access-page .segmented{border:2px solid #8def64;border-radius:25px;overflow:hidden;gap:0}.pdf-access-page .segmented span{border:0;border-radius:23px;color:#0db237;padding:10px 3px}.pdf-access-page .segmented input:checked+span{color:#fff;background:linear-gradient(105deg,#00b737,#a9ff67)}.pdf-access-page .auth-form>small{color:#666}.pdf-access-page .check-row{color:#3c6143!important}

/* Community chat */
.pdf-chat-page{height:calc(100dvh - 78px);padding-bottom:0;background:linear-gradient(105deg,#00b737 0,#a9ff67 192px,#fff 192px)}.pdf-chat-page .chat-header{min-height:159px;padding:31px 28px 17px;background:transparent;border:0;color:#fff}.pdf-chat-page .chat-title h1{font:800 clamp(25px,7.3vw,45px)/.96 "DM Sans",sans-serif;letter-spacing:-.035em}.pdf-chat-page .chat-title small{display:block;margin-top:7px;color:#fff;font-size:15px}.pdf-chat-page .chat-info{margin-top:0;background:#fff;border-radius:45px 45px 0 0;padding:17px 28px;color:#44714a}.pdf-chat-page .messages{background:#fff;padding:17px 21px 98px;gap:15px}.pdf-chat-page .message{max-width:86%}.pdf-chat-page .message-avatar{display:none}.pdf-chat-page .bubble{border:0;border-radius:0 27px 27px 27px;background:#b8e98d;padding:10px 15px;box-shadow:none}.pdf-chat-page .mine .bubble{border-radius:27px 0 27px 27px;background:#e8e8e8}.pdf-chat-page .message-name{color:#11aa38;font-size:13px;margin-bottom:3px}.pdf-chat-page .mine .message-name{color:#5d5d5d}.pdf-chat-page .bubble p{font-size:16px;color:#111;line-height:1.25}.pdf-chat-page .message-meta{justify-content:flex-start}.pdf-chat-page .mine .message-meta{justify-content:flex-end}.pdf-chat-page .message-meta time,.pdf-chat-page .message-meta button{color:#2e833c}.pdf-chat-page .chat-composer{position:fixed;left:50%;transform:translateX(-50%);bottom:78px;width:min(100%,648px);padding:8px 16px;background:#fff;border:0;grid-template-columns:41px 1fr 105px}.pdf-chat-page .chat-composer textarea{background:#ebebeb;border:0;border-radius:24px;min-height:45px;padding:12px}.pdf-chat-page .media-button{height:43px;border:0;background:#ebebeb;color:#111}.pdf-chat-page .send-button{height:43px;border-radius:24px;background:linear-gradient(105deg,#00b737,#a9ff67);font-size:0}.pdf-chat-page .send-button:after{content:'SEND';font-size:14px;font-weight:800}.pdf-chat-page .chat-media{max-width:220px}

@media(max-width:390px){.pdf-home-content{padding-left:16px;padding-right:16px}.pdf-service-grid .service-card{min-height:112px;border-radius:22px}.pdf-service-grid .service-card>div{top:29px}.pdf-service-grid .market>div{top:36px}.pdf-service-grid .service-card strong{font-size:13px}.pdf-service-grid .service-card small{font-size:7px}.map-reference-heading{padding-left:21px}.map-search{left:17px;right:17px}.pdf-access-page{padding-left:16px;padding-right:16px}.pdf-access-page .access-card{padding-left:15px;padding-right:15px}}

/* Mobile app polish: safe areas, touch comfort, keyboard synchronization and clear feedback. */
:root{--app-viewport-height:100dvh;--keyboard-offset:0px}html{min-height:100%;background:#eef5ed;overscroll-behavior-y:none;-webkit-text-size-adjust:100%}body{min-height:var(--app-viewport-height);overscroll-behavior-y:none}.app-body{min-height:var(--app-viewport-height)}.phone-shell{min-height:var(--app-viewport-height);isolation:isolate}.phone-shell img{max-width:100%}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,a{transition:transform .16s ease,filter .16s ease,opacity .16s ease}button:active,a:active{transform:scale(.975)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(0,184,55,.35);outline-offset:3px}.preloader{padding:calc(18px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom));will-change:opacity;transform:translateZ(0)}.preloader:not(.hidden){animation:preloader-in .18s ease both}@keyframes preloader-in{from{opacity:0}to{opacity:1}}.primary-button,.outline-button,.admin-button,.send-button{min-height:44px}.primary-button.is-submitting{pointer-events:none;opacity:.8}.primary-button.is-submitting span{animation:button-pulse .7s ease-in-out infinite}@keyframes button-pulse{50%{transform:translateX(4px);opacity:.35}}.toast{max-width:calc(100% - 32px);padding-top:max(13px,env(safe-area-inset-top));z-index:1200}.offline-chip{bottom:calc(90px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);text-align:center}.pdf-bottom-nav{padding-bottom:max(5px,env(safe-area-inset-bottom));will-change:transform}.pdf-bottom-nav a{min-width:44px}.home-content,.form-page,.profile-page{scroll-margin-bottom:110px}.pdf-service-grid .service-card{contain:layout paint;transform:translateZ(0)}.pdf-service-grid .service-card:hover{transform:translateY(-2px)}.pdf-service-grid .service-card:active{transform:scale(.97)}.banner-ad{contain:layout paint}.banner-ad img{transition:transform .35s ease}.banner-ad:active img{transform:scale(1.04)}.ad-slider{overscroll-behavior-x:contain;scroll-padding-inline:2px}.ad-modal-card{max-height:calc(var(--app-viewport-height) - 42px);overflow:auto;-webkit-overflow-scrolling:touch}.map-shell{height:var(--app-viewport-height);touch-action:pan-y}.map-shell #map{touch-action:pan-x pan-y}.map-search{min-height:50px}.map-search input{font-size:16px}.map-search button,.mobile-filter{min-height:42px}.map-sheet{padding-bottom:max(16px,env(safe-area-inset-bottom));will-change:transform}.location-actions a,.location-actions button{min-height:39px;display:grid;place-items:center}.location-card h2{overflow-wrap:anywhere}.leaflet-container{font-family:"DM Sans",Arial,sans-serif}.leaflet-control-attribution{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaflet-marker-icon{will-change:transform}.picker-map{touch-action:pan-x pan-y}.stack-form input,.stack-form textarea,.stack-form select,.auth-form input,.chat-composer textarea{font-size:16px}.pdf-form-page .form-section label:not(.check-row) input,.pdf-form-page .form-section label:not(.check-row) textarea,.pdf-form-page .form-section label:not(.check-row) select,.pdf-profile-page .form-section label input,.pdf-access-page .auth-form label:not(.check-row) input{font-size:14px}.pdf-form-page .form-section label:not(.check-row):focus-within,.pdf-profile-page .form-section label:focus-within,.pdf-access-page .auth-form label:not(.check-row):focus-within{border-color:#00b938;box-shadow:0 0 0 3px rgba(0,187,54,.15)}.pdf-form-page .form-section label.has-value:not(.check-row),.pdf-profile-page .form-section label.has-value,.pdf-access-page .auth-form label.has-value:not(.check-row){border-color:#44d852}.upload-box:focus-within{outline:3px solid rgba(0,184,55,.32);outline-offset:2px}.chat-page{height:calc(var(--app-viewport-height) - 78px)}.pdf-chat-page{height:calc(var(--app-viewport-height) - 78px)}.messages{overscroll-behavior:contain;scroll-padding-bottom:28px;-webkit-overflow-scrolling:touch}.message{animation:message-in .2s ease both}@keyframes message-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.pdf-chat-page .chat-composer{bottom:calc(78px + var(--keyboard-offset));padding-bottom:max(8px,env(safe-area-inset-bottom));transition:bottom .14s ease}.pdf-chat-page .chat-composer.is-sending .send-button{opacity:.75;pointer-events:none}.pdf-chat-page .chat-composer.is-sending .send-button:after{content:'…';font-size:24px}.chat-composer textarea{overscroll-behavior:contain}.chat-composer textarea:focus{border-color:#35c851;box-shadow:0 0 0 3px rgba(31,188,66,.12)}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#3d5143!important}.access-page,.reference-home{padding-bottom:max(86px,calc(86px + env(safe-area-inset-bottom)))}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.preloader{transition:none}}@media (hover:none){.service-card:hover{transform:none;box-shadow:none}}@media (min-width:649px){.app-body{padding:18px 0}.phone-shell{border-radius:30px;min-height:calc(var(--app-viewport-height) - 36px)}.pdf-bottom-nav{border-radius:0 0 27px 27px}}
