/* Compact premium mobile frame - tuned for a one-screen home view. */
.pdf-bottom-nav{height:72px;padding:4px 51px max(4px,env(safe-area-inset-bottom));background:linear-gradient(105deg,#00b432,#8dff5a);box-shadow:0 -6px 18px rgba(0,99,30,.14)}.pdf-bottom-nav a{height:62px}.pdf-bottom-nav .nav-icon{width:25px;height:25px;fill:#fff;filter:drop-shadow(0 2px 2px rgba(0,67,19,.14));transition:transform .18s ease}.pdf-bottom-nav a:nth-child(2){width:76px;min-width:76px;max-width:none;flex-basis:76px;height:76px;transform:translateY(-18px);border-radius:28px;background:linear-gradient(145deg,#00a832,#a2ff62);box-shadow:0 9px 18px rgba(0,102,31,.23)}.pdf-bottom-nav a:nth-child(2) .nav-icon{width:31px;height:31px}.pdf-bottom-nav a:active .nav-icon{transform:scale(.88)}.pdf-bottom-nav i{display:none}
.reference-home{height:calc(var(--app-viewport-height) - 72px);min-height:0;padding:0!important;display:grid;grid-template-rows:clamp(127px,19.5vh,158px) minmax(0,1fr);overflow:hidden;background:#fff}.pdf-home-hero{height:auto;min-height:0}.pdf-home-hero .hero-copy{padding:clamp(25px,4.7vh,36px) 21px 0}.pdf-home-hero .hero-copy p{font-size:clamp(12px,3.2vw,18px);letter-spacing:.015em}.pdf-home-hero .hero-copy h1{margin:1px 0 2px;font-size:clamp(29px,8.3vw,44px);letter-spacing:.01em}.pdf-home-hero .hero-copy span{font-size:clamp(9px,2.45vw,13px);line-height:1.15;letter-spacing:.015em}.pdf-home-content{min-height:0;margin:0;padding:14px 15px 9px;border-radius:36px 36px 0 0;display:flex;flex-direction:column;overflow:hidden}.pdf-intro{padding:0 0 9px;flex:0 0 auto}.pdf-intro p{font-size:clamp(13px,3.5vw,17px);line-height:1}.pdf-intro h2{margin:1px 0 0;font-size:clamp(17px,4.7vw,24px);letter-spacing:-.028em}.pdf-intro span{font-size:clamp(11px,3vw,15px);line-height:1.05}.pdf-service-grid{flex:0 0 clamp(180px,31vh,230px);grid-template-rows:1fr 1fr;gap:8px}.pdf-service-grid .service-card{min-height:0;border-radius:19px}.pdf-service-grid .service-card img{width:48%;height:99%;left:0;bottom:0}.pdf-service-grid .service-card>div{left:46%;top:25px;width:50%}.pdf-service-grid .service-card small{font-size:clamp(6px,1.8vw,8px);line-height:1.05}.pdf-service-grid .service-card strong{margin-top:2px;font-size:clamp(12px,3.05vw,17px);line-height:.93;letter-spacing:-.035em}.pdf-service-grid .service-card em{font-size:6px;letter-spacing:.02em}.pdf-service-grid .market:before{top:4px;padding:4px 7px;border-radius:12px 0 0 12px;font-size:6px}.pdf-service-grid .market>div{top:30px}.service-card-arrow{position:absolute;z-index:4;right:8px;bottom:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(5,175,51,.12);color:#079d31}.service-card-arrow svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.takashi-project{flex:0 0 auto;margin:8px 0 7px;padding:7px 10px;border-radius:15px;box-shadow:0 4px 12px rgba(0,141,37,.12)}.takashi-project small{font-size:7px;letter-spacing:.12em}.takashi-project strong{margin-top:1px;font-size:clamp(11px,3.1vw,16px);line-height:1.05;letter-spacing:.005em}
.home-banner-section{flex:0 0 clamp(62px,10.5vh,82px);min-height:0;padding:0!important}.home-banner-slider{height:100%;padding:0;gap:7px}.home-banner-ad{height:100%;min-height:0;padding:0;border:1.5px solid #0bb43a;border-radius:15px;background:#e7ffe0;display:block;isolation:isolate}.home-banner-ad img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;filter:saturate(1.04) contrast(1.03)}.home-banner-ad:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,49,14,.62),rgba(0,49,14,.08) 68%,transparent);z-index:1}.home-banner-ad div{position:absolute;z-index:2;left:11px;bottom:8px;width:70%;color:#fff}.home-banner-ad div small{display:none}.home-banner-ad div strong{display:block;margin:0;color:#fff;font-size:clamp(10px,2.7vw,14px);line-height:1.05;text-shadow:0 1px 2px rgba(0,0,0,.27)}.home-banner-badge{position:absolute;z-index:3;top:7px;right:8px;border-radius:10px;padding:3px 5px;background:rgba(255,255,255,.88);color:#058c2e;font-size:6px;font-weight:800;letter-spacing:.08em}.pdf-home-content .add-location-cta{display:none}
.map-reference-heading{height:156px;padding:25px 22px}.map-reference-heading h1{font-size:clamp(25px,7vw,38px);line-height:1}.map-reference-heading p{margin-top:5px;font-size:clamp(10px,2.7vw,14px)}.map-shell #map{top:155px}.map-search{top:129px;left:18px;right:18px;height:46px;padding:4px 9px 4px 5px;border-radius:25px}.map-search button{height:37px;padding:0 15px;font-size:10px}.map-search input{font-size:13px}.map-search span{font-size:22px}.mobile-filter{top:184px;left:20px;padding:7px 12px;font-size:9px}.map-status,.map-shell:has(.mobile-filter) .map-status{top:187px;right:20px;font-size:8px;padding:6px 8px}.floating-add{right:20px;bottom:156px;width:58px;height:58px;font-size:38px}.map-sheet{bottom:72px;min-height:184px;border-radius:25px 25px 0 0;padding:5px 14px 11px}.location-card{grid-template-columns:72px 1fr;gap:9px}.location-card>img{width:72px;height:79px;border-radius:9px}.location-card h2{font-size:15px}.location-meta,.open-now{font-size:9px}.location-actions a,.location-actions button{min-height:34px;padding:6px 2px;font-size:8px}
.pdf-form-page .type-tabs,.pdf-access-page .auth-tabs{border-radius:24px}.pdf-form-page .type-tabs button,.pdf-access-page .auth-tabs button{padding:10px 4px;font-size:11px}.pdf-chat-page{height:calc(var(--app-viewport-height) - 72px)}.pdf-chat-page .chat-composer{bottom:calc(72px + var(--keyboard-offset))}.pdf-chat-page .chat-header{min-height:130px;padding:25px 20px 13px}.pdf-chat-page .chat-title h1{font-size:clamp(20px,6.2vw,30px)}.pdf-chat-page .chat-title small{font-size:11px}.pdf-chat-page .chat-info{padding:12px 20px;border-radius:31px 31px 0 0}.pdf-chat-page .messages{padding:13px 15px 88px;gap:10px}.pdf-chat-page .bubble{padding:8px 11px}.pdf-chat-page .bubble p{font-size:13px}.pdf-chat-page .message-name{font-size:11px}
.ads-admin .inline-review{grid-template-columns:1fr 72px 54px 1fr auto!important}.ads-admin .inline-review>input[name="title"]{grid-column:1/-1}.ads-admin .inline-review .ad-replace-image{grid-column:1/-1;font-size:10px;color:#357142;font-weight:700}.ads-admin .inline-review .ad-replace-image input{display:block;width:100%;margin-top:4px;font-size:10px}
@media(max-height:700px){.reference-home{grid-template-rows:118px minmax(0,1fr)}.pdf-home-hero .hero-copy{padding-top:21px}.pdf-home-content{padding-top:10px}.pdf-intro{padding-bottom:6px}.pdf-service-grid{flex-basis:172px;gap:7px}.pdf-service-grid .service-card>div{top:21px}.pdf-service-grid .market>div{top:27px}.takashi-project{margin:6px 0;padding:5px 8px}.home-banner-section{flex-basis:55px}.home-banner-ad{border-radius:12px}.home-banner-ad div{left:8px;bottom:6px}.pdf-bottom-nav{height:68px}.pdf-bottom-nav a:nth-child(2){height:70px;width:70px;min-width:70px;flex-basis:70px}.reference-home,.pdf-chat-page{height:calc(var(--app-viewport-height) - 68px)}.pdf-chat-page .chat-composer{bottom:calc(68px + var(--keyboard-offset))}.map-sheet{bottom:68px}.floating-add{bottom:148px}}

/* Let the service grid absorb the remaining frame height, preventing the blank mobile fold. */
.pdf-home-content .pdf-service-grid{flex-grow:1;min-height:172px}
@media(max-height:700px){.pdf-home-content .pdf-service-grid{flex-grow:1;min-height:155px}}

/* App-shell refinement: compact touch targets, clear hierarchy and predictable map layers. */
.pdf-bottom-nav{height:68px;padding-inline:47px}.pdf-bottom-nav a{height:58px;gap:1px}.pdf-bottom-nav a span{font-size:9px;line-height:1}.pdf-bottom-nav .nav-icon{width:22px;height:22px}.pdf-bottom-nav a:nth-child(2){width:68px;min-width:68px;flex-basis:68px;height:68px;border-radius:24px;transform:translateY(-15px)}.pdf-bottom-nav a:nth-child(2) .nav-icon{width:27px;height:27px}
.reference-home{background:linear-gradient(105deg,#00b737,#a9ff67)}.pdf-home-content{position:relative;z-index:2;margin-top:-14px;border-radius:30px 30px 0 0;box-shadow:0 -5px 18px rgba(0,110,30,.08)}

/* The Leaflet canvas is deliberately isolated below every app control. This prevents map panes from covering the search, sheet and add button. */
.map-shell{height:var(--app-viewport-height);isolation:isolate;overflow:hidden;background:#dcecdf;touch-action:auto}.map-shell #map{z-index:1;top:142px;bottom:0;touch-action:pan-x pan-y}.map-reference-heading{z-index:10;height:145px;padding:18px 16px 0;background:linear-gradient(112deg,#00a935,#18cf45 56%,#9aff64);border-radius:0 0 29px 29px;box-shadow:0 8px 18px rgba(0,102,28,.14)}.map-heading-row{display:flex;align-items:center;gap:10px}.map-home-button{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:11px;color:#078c2e;background:rgba(255,255,255,.94);box-shadow:0 4px 10px rgba(0,83,23,.12)}.map-home-button svg,.near-me-button svg,.mobile-filter svg,.floating-add svg,.sheet-empty-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.map-eyebrow{margin:0 0 2px;font-size:7px;font-weight:800;letter-spacing:.13em;color:rgba(255,255,255,.76)}.map-reference-heading h1{font-size:clamp(21px,6.5vw,31px);line-height:1;letter-spacing:-.03em}.map-heading-subtitle{margin:6px 0 0 42px!important;font-size:8px!important;letter-spacing:.025em;color:rgba(255,255,255,.92)}.map-search{z-index:14;top:116px;left:14px;right:14px;height:45px;min-height:45px;padding:4px 8px 4px 4px;border-radius:17px;gap:7px;background:rgba(255,255,255,.98);box-shadow:0 8px 22px rgba(0,76,22,.15)}.near-me-button{display:flex!important;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;min-width:83px!important;height:37px!important;padding:0 10px!important;border-radius:13px!important;background:linear-gradient(112deg,#00ab36,#78e758)!important;color:#fff!important;font-size:9px!important;text-transform:uppercase}.near-me-button svg{width:14px;height:14px}.map-search-field{min-width:0;display:flex;align-items:center;gap:7px;flex:1}.map-search-field svg{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#1daa40;stroke-width:2;stroke-linecap:round}.map-search input{padding:0!important;min-width:0;font-size:12px!important;color:#2c4834}.map-search>span{display:none}.mobile-filter{z-index:13;top:172px;left:15px;display:flex;align-items:center;gap:5px;min-height:31px!important;padding:7px 10px!important;border-radius:12px;background:rgba(255,255,255,.96);color:#168f37;box-shadow:0 5px 12px rgba(0,77,21,.14);font-size:8px!important}.mobile-filter svg{width:13px;height:13px}.mobile-filter.active{background:#119b38;color:#fff}.map-status,.map-shell:has(.mobile-filter) .map-status{z-index:13;top:174px;right:15px;display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 5px 12px rgba(0,77,21,.12);font-size:8px}.map-status i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#25c24a;box-shadow:0 0 0 3px rgba(37,194,74,.16)}.floating-add{z-index:15;right:16px;bottom:232px;width:50px;height:50px;border:3px solid #fff;border-radius:17px;background:linear-gradient(145deg,#00a833,#80ef5b);box-shadow:0 10px 22px rgba(0,101,28,.23);display:grid;place-items:center}.floating-add svg{width:23px;height:23px;stroke-width:2.7}.map-sheet{z-index:14;bottom:68px;min-height:148px;max-height:42dvh;overflow:auto;padding:6px 15px 10px;border-radius:25px 25px 0 0;background:rgba(255,255,255,.98);box-shadow:0 -10px 26px rgba(0,48,14,.13);scrollbar-width:none}.map-sheet::-webkit-scrollbar{display:none}.sheet-handle{width:31px;height:3px;margin:2px auto 9px}.sheet-empty{padding:9px 12px 4px}.sheet-empty-icon{width:28px;height:28px;margin:0 auto 3px;display:grid;place-items:center;border-radius:10px;background:#eaffdf;color:#12a63b}.sheet-empty span.sheet-empty-icon{font-size:0}.sheet-empty strong{margin:4px 0;font-size:12px}.sheet-empty p{font-size:9px;line-height:1.35}.location-card{grid-template-columns:64px 1fr;gap:8px}.location-card>img{width:64px;height:68px;border-radius:10px}.location-card h2{font-size:14px;line-height:1.05}.location-type,.location-meta,.open-now{font-size:8px}.location-meta{margin:3px 0}.location-actions{gap:5px}.location-actions a,.location-actions button{min-height:32px;padding:5px 2px;border-radius:9px;font-size:8px}.route-details{font-size:9px;padding:6px 7px}.map-pin{width:31px;height:31px;border-width:2px;background:#e60016;box-shadow:0 4px 9px rgba(124,0,13,.28)}.map-pin svg{width:14px;height:14px;transform:rotate(45deg);fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.leaflet-control-zoom{margin:0 0 8px 9px!important}.leaflet-control-zoom a{width:29px!important;height:29px!important;line-height:29px!important}.leaflet-bottom{bottom:154px}.leaflet-control-attribution{font-size:7px!important;max-width:132px}

/* Friendly account forms: ordinary readable labels, fewer visual layers and clear next actions. */
.pdf-access-page{min-height:var(--app-viewport-height);padding:0 14px 82px;background:linear-gradient(112deg,#009c31,#20cf46 54%,#92f363)}.pdf-access-page .access-brand{top:16px;left:14px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.18);font-size:19px}.pdf-access-heading{padding:55px 5px 19px}.pdf-access-heading h1{font-size:clamp(24px,7.3vw,34px);line-height:1}.pdf-access-heading p{margin-top:5px;font-size:10px}.pdf-access-page .access-card{padding:17px 14px 20px;border-radius:27px;box-shadow:0 12px 30px rgba(0,74,20,.14)}.pdf-access-page .auth-tabs{height:40px;border:1px solid #77df7e;border-radius:14px;padding:3px}.pdf-access-page .auth-tabs button{padding:7px 5px;border-radius:10px;font-size:11px}.pdf-access-page .auth-form{padding-top:17px;gap:9px}.pdf-access-page .auth-form h1{display:block;margin:0;font-size:18px;line-height:1.1;color:#143525}.pdf-access-page .auth-form>p{display:block;margin:0 0 3px;color:#6c7e70;font-size:10px;line-height:1.35}.pdf-access-page .auth-form label:not(.check-row){display:grid;grid-template-columns:1fr;gap:3px;min-height:0;margin:0;padding:7px 11px 6px;border:1px solid #cae7cc;border-radius:12px;background:#fff;color:#46734f;font-size:9px;text-align:left}.pdf-access-page .auth-form label:not(.check-row) input{grid-column:auto;grid-row:auto;min-height:28px;padding:3px 0 0;border:0;border-radius:0;background:transparent;color:#1d3725;font-size:14px!important;box-shadow:none}.pdf-access-page .auth-form label:not(.check-row):focus-within{border-color:#16ba43;box-shadow:0 0 0 3px rgba(22,186,67,.12)}.pdf-access-page .auth-form .check-row{min-height:26px;font-size:10px}.pdf-access-page .auth-form .check-row input{width:15px!important;height:15px}.pdf-access-page .auth-form fieldset{margin:3px 0 0;padding:8px;border:1px solid #d9edd9;border-radius:13px}.pdf-access-page .auth-form legend{padding:0 3px;margin:0;color:#397042;font-size:9px}.pdf-access-page .segmented{border:0;border-radius:10px;background:#eef9ec}.pdf-access-page .segmented span{padding:8px 3px;border-radius:8px;font-size:9px}.pdf-access-page .auth-form .primary-button{width:100%;min-height:43px;margin:5px 0 0;padding:10px 15px;border-radius:13px;font-size:12px}.pdf-access-page .auth-form>small{font-size:9px;line-height:1.35}.pdf-access-page .customer-fields{gap:7px}

/* Add-location flow shares the same compact, single-purpose field language. */
.reference-page-heading{padding:20px 16px 45px!important}.reference-page-heading h1{font-size:clamp(22px,6.7vw,31px)!important}.reference-page-heading p{font-size:9px!important}.pdf-form-page{margin-top:-24px;padding:14px 13px 92px;border-radius:25px 25px 0 0;background:#f8fcf7}.pdf-form-page .type-tabs{margin:0 0 11px;padding:3px;border-radius:13px;background:#edf7ec}.pdf-form-page .type-tabs button{padding:8px 3px;border-radius:9px;font-size:10px}.pdf-form-page .form-section{padding:12px;border:1px solid #dcebdd;border-radius:16px;box-shadow:0 4px 12px rgba(11,83,27,.035)}.pdf-form-page .form-section h2{font-size:14px}.pdf-form-page .form-section>p{margin:3px 0 9px;font-size:9px}.pdf-form-page .form-section label:not(.check-row){display:grid;grid-template-columns:1fr;gap:3px;min-height:0;margin-top:8px;padding:7px 10px 5px;border:1px solid #d2e8d3;border-radius:11px;background:#fff;color:#4d7454;font-size:9px;text-align:left}.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:auto;grid-row:auto;min-height:28px;padding:3px 0 0;border:0;border-radius:0;background:transparent;color:#1d3725;font-size:13px!important;box-shadow:none}.pdf-form-page .form-section label:not(.check-row) textarea{min-height:54px;padding-top:5px}.pdf-form-page .two-fields{gap:7px}.pdf-form-page .form-section fieldset{margin:8px 0 0}.pdf-form-page .day-pills{gap:4px;padding:5px;border-radius:11px}.pdf-form-page .day-pills span{padding:5px 7px;font-size:8px}.pdf-form-page .check-row{padding:7px!important;font-size:9px!important}.pdf-form-page .picker-map{height:170px;margin-top:7px;border:2px solid #17bc43;border-radius:13px}.pdf-form-page .map-picker-action{margin-top:7px;padding:8px 10px;border-radius:10px;font-size:9px}.pdf-form-page .upload-box{min-height:92px;border-radius:13px}.pdf-form-page .primary-button{width:100%;min-height:44px;margin:1px 0 0;padding:11px 15px;border-radius:13px;font-size:12px}

@media(max-height:700px){.reference-home{grid-template-rows:118px minmax(0,1fr)}.pdf-home-content{margin-top:-11px;border-radius:26px 26px 0 0}.pdf-bottom-nav{height:64px}.pdf-bottom-nav a{height:54px}.pdf-bottom-nav a:nth-child(2){width:64px;min-width:64px;flex-basis:64px;height:64px}.map-sheet{bottom:64px}.floating-add{bottom:222px}.pdf-access-page{padding-bottom:75px}.pdf-access-heading{padding-top:49px;padding-bottom:15px}}

.pdf-access-page .auth-form label:not(.check-row){position:relative}.pdf-access-page .auth-form label:not(.check-row) input[type="password"]{padding-right:44px}.password-toggle{position:absolute;right:8px;bottom:6px;min-width:34px;border:0;border-radius:7px;padding:3px 5px;background:#eaffdf;color:#159238;font-size:8px;font-weight:800;line-height:1.4}
.auth-intent{margin:9px 0 -1px;padding:7px 9px;border-radius:10px;background:#effbea;color:#28713b;font-size:9px;line-height:1.35}

/* Home: lower service buttons, with a true 2:1 campaign placement. */
.pdf-home-content{justify-content:space-between}.pdf-home-content .pdf-service-grid{flex:0 0 clamp(148px,25vh,174px);min-height:clamp(148px,25vh,174px)}.pdf-home-content .service-card>div{top:18px}.pdf-home-content .market>div{top:24px}.home-banner-section{flex:0 0 min(265px,calc((100vw - 30px)/2));height:min(265px,calc((100vw - 30px)/2))}.home-banner-slider,.home-banner-ad{aspect-ratio:2 / 1}.home-banner-ad{height:100%;border-radius:16px}.home-banner-ad div{left:12px;bottom:11px}.home-banner-ad div strong{font-size:clamp(11px,2.8vw,15px)}

/* White, fading brand preloader for navigation only; chat messages never trigger it. */
.preloader{background:#fff;color:#0b9634;gap:9px;letter-spacing:.08em}.loader-orbit{width:66px;height:66px;border:0;background:linear-gradient(145deg,#00ab35,#94f45e);box-shadow:0 10px 25px rgba(0,145,42,.2);animation:preloader-mark 1.2s ease-in-out infinite}.loader-orbit span{font-size:28px;animation:none;color:#fff}@keyframes preloader-mark{0%,100%{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}.preloader strong{font-size:17px;letter-spacing:.12em}.preloader small{color:#4c7b57;opacity:1;font-size:9px}

/* WhatsApp-inspired chat: one uninterrupted green header, scrolling conversation, fixed keyboard-aware composer. */
.pdf-chat-page{height:calc(var(--app-viewport-height) - 64px);display:grid;grid-template-rows:86px 42px minmax(0,1fr);padding:0;background:#f5faf4}.pdf-chat-page .chat-header{min-height:0;padding:15px 15px 8px;background:linear-gradient(112deg,#009f32,#20ce48 58%,#91ef61);border:0;color:#fff}.pdf-chat-page .chat-title{gap:9px}.chat-title-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.28);font-size:11px;font-weight:800;letter-spacing:-.04em}.pdf-chat-page .chat-title p{margin:0 0 2px;font-size:7px;font-weight:800;letter-spacing:.13em;color:rgba(255,255,255,.76)}.pdf-chat-page .chat-title h1{font-size:20px;line-height:1;letter-spacing:-.02em}.pdf-chat-page .chat-title small{margin-top:4px;font-size:9px;color:rgba(255,255,255,.92)}.pdf-chat-page .chat-title small i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#d8ff85;box-shadow:0 0 0 3px rgba(216,255,133,.18)}.chat-alert-button{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.18);color:#fff}.chat-alert-button svg,.media-button svg,.send-button svg,.message-action svg,.message-options summary svg,.profile-insight svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pdf-chat-page .chat-info{display:flex;align-items:center;gap:7px;margin:0;padding:0 15px;background:linear-gradient(112deg,#009f32,#20ce48 58%,#91ef61);border:0;border-radius:0;color:rgba(255,255,255,.92);font-size:8px}.pdf-chat-page .chat-info svg{width:14px;height:14px;min-width:14px;fill:none;stroke:currentColor;stroke-width:2}.pdf-chat-page .chat-info p{margin:0;line-height:1.25}.pdf-chat-page .messages{min-height:0;background:#f5faf4;padding:14px 12px 86px;gap:9px;overflow-y:auto}.pdf-chat-page .message{max-width:88%;gap:6px}.pdf-chat-page .message-avatar{display:grid;min-width:25px;width:25px;height:25px;border-radius:9px;background:#d9f9d2;color:#168d35;font-size:10px}.pdf-chat-page .bubble{padding:8px 10px;border:1px solid #e1ede0;border-radius:4px 15px 15px 15px;background:#fff;box-shadow:0 3px 10px rgba(19,78,31,.045)}.pdf-chat-page .mine .bubble{border-color:#cbefc3;border-radius:15px 4px 15px 15px;background:#dbfbd1}.pdf-chat-page .message-name{margin-bottom:2px;font-size:9px;color:#128c35}.pdf-chat-page .mine .message-name{color:#39713d}.pdf-chat-page .bubble p{margin:2px 0;font-size:13px;line-height:1.32;color:#1d2e21}.reply-preview{margin:4px 0;padding:4px 6px;border-left:2px solid #24b747;border-radius:0 6px 6px 0;background:rgba(25,157,55,.07);font-size:8px}.pdf-chat-page .message-meta{gap:6px;margin-top:4px}.pdf-chat-page .message-meta time{font-size:8px}.message-action{display:inline-flex!important;align-items:center;gap:2px;border:0;background:transparent;color:#719076;padding:0!important;font-size:8px!important}.message-action svg{width:13px;height:13px}.message-action.liked,.message-action:active{color:#0fa53a}.like-count{min-width:4px}.message-options{position:relative}.message-options summary{display:grid;place-items:center;list-style:none;color:#719076;cursor:pointer}.message-options summary::-webkit-details-marker{display:none}.message-options summary svg{width:14px;height:14px;fill:currentColor;stroke:none}.message-options>div{position:absolute;z-index:5;right:0;bottom:20px;display:grid;min-width:84px;padding:4px;border:1px solid #dcebdd;border-radius:9px;background:#fff;box-shadow:0 8px 18px rgba(9,63,21,.15)}.message-options button{border:0;border-radius:6px;padding:6px 7px;background:transparent;color:#355a3d;font-size:9px;text-align:left}.message-options button.danger{color:#c44747}.pdf-chat-page .chat-media{max-width:195px;max-height:200px;margin-top:5px;border-radius:11px}.pdf-chat-page .chat-composer{z-index:60;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(64px + var(--keyboard-offset));width:min(100%,560px);padding:7px 10px max(7px,env(safe-area-inset-bottom));grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;background:rgba(255,255,255,.98);border-top:1px solid #deecdf;box-shadow:0 -5px 15px rgba(14,69,24,.07);transition:bottom .12s ease}.pdf-chat-page .media-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #d5e8d6;border-radius:13px;background:#effaee;color:#159e38}.pdf-chat-page .media-button svg{width:19px;height:19px}.composer-input{min-width:0;position:relative}.pdf-chat-page .chat-composer textarea{width:100%;min-height:38px;max-height:112px;padding:10px 12px;border:1px solid #dfeadf;border-radius:13px;background:#f8fcf7;color:#243b29;font-size:14px;line-height:1.2}.pdf-chat-page .send-button{width:38px;height:38px;min-height:38px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#00a834,#78e956);font-size:0;box-shadow:none}.pdf-chat-page .send-button svg{width:18px;height:18px;stroke:#fff;stroke-width:2.4}.pdf-chat-page .chat-composer.has-media textarea{padding-right:48px}.pdf-chat-page #mediaPreview{position:absolute;right:6px;top:5px;width:28px;height:28px;object-fit:cover;border-radius:8px;border:1px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.15)}.pdf-chat-page .replying{padding:5px 7px;border-radius:8px;background:#e8f8e5;font-size:9px}.chat-live-notice{position:absolute;z-index:65;left:50%;bottom:77px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:8px 11px;border-radius:12px;background:#1d4428;color:#fff;font-size:10px;box-shadow:0 8px 20px rgba(0,0,0,.16)}

/* Profile dashboard makes a signed-in account immediately useful. */
.pdf-profile-page{padding:18px 14px 90px;background:#f7fcf6}.pdf-profile-page .profile-hero{position:relative;display:flex;align-items:center;gap:10px;padding:0 2px 14px}.profile-avatar{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px;border-radius:17px;background:linear-gradient(145deg,#00a934,#8eee5a);color:#fff;font-size:21px;font-weight:800;box-shadow:0 9px 18px rgba(0,139,39,.18)}.pdf-profile-page .profile-hero>div:nth-child(2) span{display:block;color:#67826c;font-size:9px}.pdf-profile-page .profile-hero h2{margin:1px 0;font-size:20px;color:#173a22}.pdf-profile-page .profile-hero small{font-size:9px;color:#149a37}.profile-status{position:absolute;right:2px;top:2px;display:flex!important;align-items:center;gap:4px;color:#258342!important;font-size:8px!important;font-weight:800}.profile-status i{width:6px;height:6px;border-radius:50%;background:#2bd152;box-shadow:0 0 0 3px rgba(43,209,82,.14)}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 10px}.profile-stats article{padding:10px 6px;border:1px solid #d8ebd8;border-radius:14px;background:#fff;text-align:center}.profile-stats strong{display:block;color:#118f34;font-size:18px;line-height:1}.profile-stats span{display:block;margin-top:4px;color:#64806a;font-size:8px;line-height:1.15}.profile-insight{display:flex;gap:7px;align-items:flex-start;margin:0 0 12px;padding:9px 10px;border-radius:13px;background:#e9f9e5;color:#47734d}.profile-insight svg{width:15px;min-width:15px;height:15px;color:#13a139}.profile-insight p{margin:0;font-size:9px;line-height:1.35}.pdf-profile-page .form-section{padding:12px;border:1px solid #dcebdd;border-radius:16px;background:#fff}.pdf-profile-page .form-section h2{display:block;font-size:13px}.pdf-profile-page .form-section label{display:grid;grid-template-columns:1fr!important;gap:3px;min-height:0!important;margin-top:8px!important;padding:7px 10px 5px!important;border:1px solid #d2e8d3!important;border-radius:11px!important;background:#fff!important;color:#4d7454!important;font-size:9px!important;text-align:left!important}.pdf-profile-page .form-section label input{grid-column:auto!important;grid-row:auto!important;min-height:28px!important;padding:3px 0 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#1d3725!important;font-size:13px!important}.pdf-profile-page .primary-button,.pdf-profile-page .outline-button{width:100%;min-height:43px;margin:0;padding:10px 14px;border-radius:13px;font-size:12px}.pdf-profile-page .password-form{margin-top:14px}

@media(max-height:700px){.pdf-chat-page{height:calc(var(--app-viewport-height) - 64px);grid-template-rows:78px 36px minmax(0,1fr)}.pdf-chat-page .chat-header{padding-top:11px}.pdf-chat-page .chat-composer{bottom:calc(64px + var(--keyboard-offset))}.home-banner-section{flex-basis:min(235px,calc((100vw - 30px)/2));height:min(235px,calc((100vw - 30px)/2))}.pdf-home-content .pdf-service-grid{flex-basis:142px;min-height:142px}}
@media(max-height:620px){.home-banner-section{flex-basis:125px;height:125px}.pdf-home-content .pdf-service-grid{flex-basis:122px;min-height:122px}.pdf-home-content .service-card>div{top:13px}.pdf-home-content .market>div{top:19px}.pdf-home-content .service-card strong{font-size:11px}.takashi-project{margin:4px 0;padding:4px 7px}.pdf-home-content{padding-top:7px;padding-bottom:5px}.pdf-intro{padding-bottom:3px}}
.app-update-notice{position:fixed;z-index:1300;right:14px;bottom:78px;max-width:min(330px,calc(100% - 28px));border:0;border-radius:13px;padding:10px 12px;background:#173f25;color:#fff;font-size:11px;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.map-search .near-me-button,.map-search .near-me-button span{color:#fff!important}
.pdf-form-page .mobile-service small{grid-column:2;font-size:8px;color:#66806c;font-weight:500}
.pdf-chat-page .replying[hidden]{display:none!important}
.pdf-chat-page .send-button:after{content:none!important}

/* Home launch screen: a brighter, more tactile super-app landing composition. */
.phone-shell:has(.reference-home){padding-bottom:0}.reference-home{background:#0bae37}.pdf-home-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 86% 10%,rgba(214,255,149,.88),transparent 24%),radial-gradient(circle at 14% 95%,rgba(0,114,38,.24),transparent 34%),linear-gradient(112deg,#009b31,#10c944 53%,#84ef59)}.pdf-home-hero:before{display:block;width:185px;height:185px;right:-74px;top:-112px;border:18px solid rgba(255,255,255,.16);background:transparent;opacity:1;filter:none}.pdf-home-hero:after{display:block;width:145px;height:145px;left:-82px;bottom:-102px;background:rgba(0,102,31,.14);opacity:1;filter:none}.home-hero-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(110deg,#000,transparent 70%)}.pdf-home-hero .hero-copy{z-index:2;padding-top:clamp(23px,4.2vh,33px);text-shadow:0 2px 8px rgba(0,90,25,.12)}.pdf-home-hero .hero-copy p{display:flex;align-items:center;gap:5px;font-weight:800}.pdf-home-hero .hero-copy p:before{content:"";width:16px;height:2px;border-radius:3px;background:rgba(255,255,255,.75)}.pdf-home-hero .hero-copy h1{font-weight:800;letter-spacing:-.015em}.pdf-home-hero .hero-copy span{max-width:225px;font-weight:600;opacity:.94}.home-live-chip{position:absolute;z-index:3;right:15px;bottom:13px;display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(255,255,255,.31);border-radius:11px;background:rgba(0,104,34,.14);backdrop-filter:blur(7px);color:#fff;box-shadow:0 5px 14px rgba(0,80,23,.12)}.home-live-chip svg{width:13px;height:13px;fill:none;stroke:#e9ffb5;stroke-width:2;stroke-linecap:round}.home-live-chip span{font-size:7px;line-height:1.15;font-weight:700}.pdf-home-content{background:linear-gradient(180deg,#fff 0,#fbfef9 100%);box-shadow:0 -9px 22px rgba(0,92,27,.12)}.pdf-intro{position:relative}.pdf-intro p{color:#129b38}.pdf-intro h2{background:linear-gradient(100deg,#073b1d,#159d37);-webkit-background-clip:text;background-clip:text;color:transparent}.pdf-intro span{color:#5c7562}.intro-accent{position:absolute;left:50%;bottom:1px;width:24px;height:3px;border-radius:99px;background:linear-gradient(90deg,#00ad37,#a1f565);transform:translateX(-50%)}.pdf-service-grid .service-card{border:1px solid rgba(25,136,54,.08);box-shadow:0 6px 13px rgba(13,90,30,.07)}.pdf-service-grid .repair{background:linear-gradient(145deg,#f5f8f5,#e5f5e4)}.pdf-service-grid .charging{background:linear-gradient(145deg,#f2fbf3,#dff5dc)}.pdf-service-grid .spares{background:linear-gradient(145deg,#f7faf4,#e8f4df)}.pdf-service-grid .market{background:linear-gradient(145deg,#f4faf1,#e1f8e0)}.pdf-service-grid .service-card:before{content:"";position:absolute;z-index:0;right:8px;top:8px;width:22px;height:22px;border-radius:50%;background:rgba(38,191,68,.08)}.pdf-service-grid .service-card img{filter:drop-shadow(0 5px 6px rgba(13,70,27,.10))}.service-card-arrow{width:19px;height:19px;background:linear-gradient(145deg,#e2ffdb,#b9f3ad);box-shadow:0 3px 6px rgba(0,130,36,.12)}.takashi-project{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.36);box-shadow:0 7px 17px rgba(0,132,35,.17)}.takashi-project:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.28) 45%,transparent 67%);transform:translateX(-65%);animation:project-shine 5s ease-in-out infinite}@keyframes project-shine{30%,100%{transform:translateX(140%)}}.home-banner-ad{box-shadow:0 8px 18px rgba(11,82,28,.12)}.home-banner-ad:after{background:linear-gradient(90deg,rgba(0,42,14,.72),rgba(0,42,14,.15) 66%,transparent)}.home-banner-action{position:absolute;z-index:3;right:10px;bottom:9px;display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:8px;background:rgba(255,255,255,.9);color:#148a35;font-size:8px;font-weight:800}.home-banner-action svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-height:700px){.home-live-chip{right:13px;bottom:10px;padding:5px 7px}.home-live-chip span{font-size:6px}.pdf-home-hero .hero-copy{padding-top:20px}.pdf-home-content .pdf-service-grid{flex-basis:138px;min-height:138px}.home-banner-section{flex-basis:min(225px,calc((100vw - 30px)/2));height:min(225px,calc((100vw - 30px)/2))}}

/* Hosted map assets intentionally live in /css and /js: some shared-host rules block /vendor. */
.picker-pin-icon{background:transparent!important;border:0!important}.picker-pin{width:34px;height:34px;display:grid;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 0;background:linear-gradient(145deg,#00a936,#81ed59);color:#fff;box-shadow:0 5px 12px rgba(0,96,27,.28);transform:rotate(-45deg)}.picker-pin i{font:800 22px/1 Arial,sans-serif;font-style:normal;transform:rotate(45deg)}

/* Image-only brand loader. The supplied mark fades in and out without extra copy. */
.preloader{background:#000;gap:0}.preloader .loader-orbit,.preloader strong,.preloader small{display:none!important}.preloader-logo{display:block!important;width:min(62vw,390px);max-width:76%;height:auto;max-height:48vh;object-fit:contain;animation:ev-logo-fade 1.35s ease-in-out infinite;filter:drop-shadow(0 12px 26px rgba(109,255,32,.2));will-change:opacity,transform}@keyframes ev-logo-fade{0%,100%{opacity:.28;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}

/* Smaller, transparent EV mark on white; only the supplied logo is shown while pages load. */
.preloader{background:#fff}.preloader-logo{width:clamp(92px,27vw,146px);max-width:42%;max-height:21vh;filter:drop-shadow(0 7px 14px rgba(20,166,52,.14))}

/* Coarse-pointer Android devices keep the full-bleed app. A desktop gets a stable device stage. */
@media (min-width:649px) and (hover:none), (min-width:649px) and (pointer:coarse){.app-body{padding:0}.phone-shell{width:100%;min-height:var(--app-viewport-height);border-radius:0}.pdf-bottom-nav{width:100%;bottom:0;border-radius:0}}
@media (min-width:700px) and (hover:hover) and (pointer:fine){html{background:#e7f4e7}.app-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 12%,rgba(154,255,103,.68),transparent 28%),radial-gradient(circle at 86% 85%,rgba(0,164,49,.18),transparent 29%),linear-gradient(135deg,#eff8ed,#dcefdc)}.phone-shell{width:min(520px,calc(100vw - 48px));height:min(920px,calc(100vh - 48px));min-height:0;margin:0;border:1px solid rgba(17,122,45,.13);border-radius:32px;box-shadow:0 28px 70px rgba(0,74,25,.21);overflow:hidden}.phone-shell:has(.reference-home){padding-bottom:0}.phone-shell .reference-home{height:100%;min-height:0}.phone-shell.map-page,.phone-shell.map-page .map-shell{height:100%}.bottom-nav{width:min(520px,calc(100vw - 48px));bottom:24px;border-radius:0 0 31px 31px;border-left:1px solid rgba(17,122,45,.1);border-right:1px solid rgba(17,122,45,.1);border-bottom:1px solid rgba(17,122,45,.1);box-shadow:0 13px 34px rgba(0,74,25,.13)}.preloader-logo{width:126px;max-height:148px}}

/* Stable narrow-screen fallback: only prevents sideways overflow; it leaves the established phone layout untouched. */
@media (max-width:600px){html,body{max-width:100%;overflow-x:hidden}.phone-shell,.pdf-bottom-nav{width:100%;max-width:none}}
