:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;--bg:#f3f5f6;--surface:#fff;--text:#24282c;--muted:#687078;--line:#dfe3e7;--soft:#f1f3f5;--accent:#ffca28;--accent-text:#24230f;--link:#315e8c;--danger:#b93832;--success:#2a7050;--nav-h:72px;--radius:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:300px}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.55}a{color:var(--link)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--link);outline-offset:3px}[hidden]{display:none!important}button{touch-action:manipulation}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.16;letter-spacing:-.7px;font-weight:750}h2{font-size:21px;line-height:1.25;letter-spacing:-.35px}h3{font-size:17px;line-height:1.35}svg:not(.leaflet-zoom-animated){width:22px;height:22px;flex:none;vertical-align:middle}img{max-width:100%;display:block}.skip{position:fixed;top:-80px;left:16px;z-index:2000;background:var(--accent);padding:12px}.skip:focus{top:10px}.app-shell{max-width:1120px;min-height:100dvh;margin:auto;background:var(--surface)}.topbar{height:80px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-align:left;border:0;background:none;padding:0}.brand-mark{display:grid;place-items:center;background:var(--accent);color:var(--accent-text);width:43px;height:43px;font-size:25px;font-weight:900;letter-spacing:-2px;border-radius:12px;position:relative;padding-right:4px}.brand-mark span{width:6px;height:6px;border-radius:2px;background:var(--accent-text);position:absolute;right:6px;bottom:8px}.brand-name{font-size:19px;font-weight:800;letter-spacing:-.5px;display:block}.brand-name>span{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0;margin-top:2px}.header-actions{display:flex;gap:10px;align-items:center}.icon-btn{border:0;background:none;border-radius:12px;min-width:44px;min-height:44px;display:grid;place-items:center;padding:10px}.icon-btn:hover{background:var(--soft)}.avatar{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;background:var(--soft);font-weight:700;overflow:hidden;padding:0;display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}main{padding:24px 22px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px);outline:0}.page-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.page-head p{color:var(--muted);font-size:14px;line-height:1.5;margin-top:7px}.eyebrow{font-size:13px;color:var(--muted);margin-bottom:6px}.location-button{border:0;background:var(--soft);border-radius:12px;display:flex;align-items:center;gap:7px;text-align:left;padding:10px 12px;font-size:14px;max-width:100%;line-height:1.3}.location-button svg{width:18px;height:18px}.location-button .location-copy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.location-button .chevron{width:14px;height:14px}.location-row{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:16px}.segmented{display:flex;background:var(--soft);padding:4px;gap:4px;border-radius:13px;margin-bottom:18px}.segmented button{border:0;background:transparent;padding:12px 14px;border-radius:10px;flex:1;font-weight:650;font-size:14px;line-height:1.2}.segmented button.active{background:var(--surface);box-shadow:0 1px 4px #00000012;color:var(--text)}.search-row{display:flex;gap:10px;margin-bottom:14px}.search-box{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid transparent;border-radius:13px;flex:1;min-width:0;padding:0 12px}.search-box:focus-within{border-color:var(--link)}.search-box svg{color:var(--muted);width:21px}.search-box input{background:none;border:0;outline:none;min-width:0;width:100%;height:47px;color:var(--text);font-size:16px}.search-box input:focus-visible{outline:none}.filter-button{width:48px;height:48px;border-radius:13px;background:var(--surface);border:1px solid var(--line);position:relative}.filter-button.has-filters:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);top:8px;right:8px}.category-row{display:flex;gap:8px;overflow-x:auto;margin:0 -22px;padding:0 22px 14px;scrollbar-width:none}.category-row::-webkit-scrollbar{display:none}.chip{flex:none;white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:100px;padding:9px 13px;font-size:13px;font-weight:550;min-height:38px}.chip.active{background:var(--text);border-color:var(--text);color:var(--surface)}.result-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 14px;color:var(--muted);font-size:13px}.text-button{border:0;background:transparent;color:var(--link);padding:6px 0;font-size:14px;display:inline-flex;gap:5px;align-items:center;text-align:left}.text-button svg{width:17px;height:17px}.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.listing-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:border-color .15s}.listing-card:hover{border-color:var(--muted)}.card-open{display:flex;flex:1;flex-direction:column;align-items:stretch;text-align:left;padding:0;border:0;background:none;min-width:0}.card-photo{width:100%;height:190px;object-fit:cover;background:var(--soft)}.card-photo.failed{display:none}.card-body{padding:17px;display:flex;flex-direction:column;gap:9px;flex:1}.card-kind{color:var(--muted);font-size:12px;display:flex;gap:6px;align-items:center;padding-right:28px}.card-kind svg{width:15px;height:15px}.card-title{font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.2px;overflow-wrap:anywhere}.card-price{font-size:19px;font-weight:750;letter-spacing:-.4px}.card-price span{font-size:13px;color:var(--muted);font-weight:500;letter-spacing:0}.card-desc{font-size:14px;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.card-meta{margin-top:auto;padding-top:3px;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:12px}.card-meta svg{width:15px;height:15px}.card-favorite{position:absolute;right:9px;top:8px;background:var(--surface);border:1px solid var(--line);border-radius:50%;height:36px;width:36px;display:grid;place-items:center;z-index:1}.card-favorite svg{width:18px;height:18px}.card-favorite.is-favorite{color:var(--danger)}.card-favorite.is-favorite svg{fill:currentColor}.listing-card.has-photo .card-favorite{background:#fffffff2;color:#24282c}.listing-card.has-photo .card-favorite.is-favorite{color:#b93832}.status-pill{font-size:11px;background:var(--soft);padding:4px 7px;border-radius:6px;color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1120px,100%);z-index:40;border-top:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:repeat(3,1fr);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:10px}.nav-item{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);font-size:11px;border-radius:12px;min-width:0}.nav-item svg{width:23px;height:23px}.nav-item.active{color:var(--text);font-weight:700;background:var(--soft)}.nav-create>span:first-child{border-radius:9px;width:32px;height:27px;background:var(--accent);color:var(--accent-text);display:grid;place-items:center}.nav-create svg{width:20px;height:20px}.primary,.secondary,.danger-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:12px;padding:13px 17px;min-height:48px;font-size:15px;font-weight:650;text-decoration:none;border:1px solid transparent}.primary{background:var(--accent);color:var(--accent-text)}.secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.danger-button{color:var(--danger);background:var(--surface);border-color:var(--line)}.wide{width:100%}.button-row{display:flex;gap:10px;flex-wrap:wrap}.button-row>*{flex:1}.empty-state,.error-state{text-align:center;max-width:420px;margin:36px auto;padding:16px 10px}.empty-icon{display:grid;place-items:center;height:68px;width:68px;margin:0 auto 18px;background:var(--soft);border-radius:20px;color:var(--muted)}.empty-icon svg{width:30px;height:30px}.empty-state h2,.error-state h2{font-size:21px;margin-bottom:9px}.empty-state p,.error-state p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:18px}.empty-state .button-row{justify-content:center}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.5}.spinner{height:23px;width:23px;border:2px solid var(--line);border-top-color:var(--text);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.initial-loading{height:55dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{height:190px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(105deg,var(--soft) 35%,var(--surface) 48%,var(--soft) 60%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton:nth-child(2){animation-delay:.15s}@keyframes shimmer{to{background-position:-200% 0}}.loading-more{padding:20px;text-align:center;color:var(--muted);font-size:13px}.load-more{display:block;margin:22px auto 0;min-width:180px}.back-row{display:flex;align-items:center;justify-content:space-between;margin:-7px 0 16px}.back-button{display:flex;align-items:center;gap:6px;border:0;background:none;padding:7px 0;color:var(--muted);font-size:14px}.back-button svg{width:19px}.gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -22px 20px;padding:0 22px;scrollbar-width:thin}.gallery img{width:min(83vw,520px);height:280px;object-fit:cover;flex:none;scroll-snap-align:center;border-radius:14px;background:var(--soft)}.detail-layout{max-width:760px;margin:auto}.detail-title{font-size:29px;line-height:1.2;letter-spacing:-.7px;margin-bottom:13px;overflow-wrap:anywhere}.detail-price{font-size:26px;font-weight:750;margin:15px 0 18px;letter-spacing:-.5px}.detail-price span{font-size:15px;font-weight:500;color:var(--muted)}.detail-badges{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.detail-badge{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:13px;padding:7px 10px;background:var(--soft);border-radius:8px}.detail-badge svg{width:17px;height:17px}.detail-description{white-space:pre-wrap;font-size:16px;line-height:1.65;overflow-wrap:anywhere}.section-divider{border:0;border-top:1px solid var(--line);margin:25px 0}.owner-line{display:flex;align-items:center;gap:12px;margin:22px 0}.owner-avatar{display:grid;place-items:center;background:var(--soft);border-radius:50%;width:46px;height:46px;font-weight:700;font-size:19px}.owner-line strong{font-size:15px;display:block}.owner-line p{font-size:12px;color:var(--muted);margin-top:4px}.contact-footer{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));background:var(--surface);padding:12px 0 3px;margin-top:22px;border-top:1px solid var(--line);z-index:5}.contact-footer .small{margin-top:8px;text-align:center}.note{background:var(--soft);border-radius:12px;padding:13px;font-size:13px;line-height:1.55;color:var(--muted);margin:15px 0}.note svg{width:18px;height:18px;margin-right:5px}.note.error{color:var(--danger);border:1px solid var(--danger);background:transparent}.step-line{display:flex;gap:5px;margin:0 0 15px}.step-line span{height:4px;border-radius:4px;background:var(--line);flex:1}.step-line span.active{background:var(--accent)}.step-label{color:var(--muted);font-size:13px;margin-bottom:8px}.form-shell{max-width:640px;margin:auto}.field{display:flex;flex-direction:column;gap:7px;margin:18px 0}.field>label,.field-label{font-weight:650;font-size:14px}.field small{font-size:12px;color:var(--muted);line-height:1.45}.field input,.field textarea,.field select,.input{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;min-height:47px;width:100%;font-size:16px}.field textarea{resize:vertical;min-height:115px;line-height:1.5}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}input[type=range]{accent-color:var(--text)}input[type=checkbox],input[type=radio]{accent-color:var(--text);width:19px;height:19px;flex:none}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-grid .field{min-width:0;margin-top:10px;margin-bottom:8px}.form-actions{display:flex;gap:10px;margin:26px 0 8px}.form-actions>*{flex:1}.kind-options{display:grid;gap:10px;margin:20px 0}.kind-option{border:1px solid var(--line);border-radius:13px;padding:16px;display:flex;align-items:center;gap:12px;background:var(--surface);text-align:left}.kind-option.active{border:2px solid var(--text);padding:15px;background:var(--soft)}.kind-option .kind-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--soft);border-radius:10px;flex:none}.kind-option.active .kind-icon{background:var(--accent);color:var(--accent-text)}.kind-option strong{font-size:16px;display:block}.kind-option small{display:block;color:var(--muted);line-height:1.4;margin-top:4px;font-size:12px}.draft-state{font-size:12px;color:var(--muted);min-height:20px;text-align:right;margin-top:14px;display:flex;align-items:center;justify-content:flex-end;gap:5px}.draft-state svg{width:14px;height:14px}.photo-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0}.photo-tile{aspect-ratio:1;position:relative;border-radius:11px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}.photo-tile img{width:100%;height:100%;object-fit:cover}.photo-tile .icon-btn{position:absolute;top:4px;right:4px;min-width:30px;min-height:30px;padding:6px;background:#fff;color:#222;border-radius:50%}.photo-tile .icon-btn svg{width:16px;height:16px}.photo-cover{position:absolute;left:5px;bottom:5px;background:#ffffffec;color:#24282c;border-radius:5px;padding:3px 5px;font-size:10px}.photo-upload{border:1px dashed var(--muted);border-radius:12px;min-height:110px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:14px;cursor:pointer;background:var(--soft);text-align:center;padding:15px}.photo-upload span{font-size:12px;color:var(--muted)}.photo-upload input{width:1px;height:1px;position:absolute;opacity:0}.photo-upload:focus-within{outline:3px solid var(--link);outline-offset:3px}.review-summary{margin-top:20px;background:var(--soft);border-radius:13px;padding:16px}.review-summary h3{margin-bottom:10px;overflow-wrap:anywhere}.review-summary p{font-size:13px;line-height:1.5;color:var(--muted);margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.check-label{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.5;margin:16px 0}.check-label input{margin:2px 0 0}.mine-tabs{margin-bottom:20px}.mine-card{border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}.mine-card h3{overflow-wrap:anywhere}.mine-card .card-meta{margin:8px 0}.mine-card .button-row{margin-top:13px}.mine-card .button-row button{padding:10px;font-size:13px;min-height:40px}.response-message{white-space:pre-wrap;color:var(--muted);font-size:14px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.response-status{font-size:12px;color:var(--success);margin-top:7px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-heading h2{font-size:18px}.menu-list{display:grid;gap:7px;margin:10px 0}.menu-list>button{display:flex;align-items:center;gap:12px;padding:13px 0;background:none;border:0;border-bottom:1px solid var(--line);min-height:49px;text-align:left;font-size:15px}.menu-list>button>svg:last-child{margin-left:auto;width:16px;color:var(--muted)}.menu-list button.danger{color:var(--danger)}.profile-info{display:flex;gap:12px;align-items:center;padding:5px 0 15px;border-bottom:1px solid var(--line)}.profile-info strong{display:block}.profile-info p{font-size:12px;color:var(--muted);margin-top:5px}.tariff{border:1px solid var(--line);border-radius:13px;padding:16px;margin:12px 0}.tariff p{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 14px}.tariff .price{font-size:20px;font-weight:700;margin-top:10px}.subscription-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0}.subscription-row p{color:var(--muted);font-size:12px;margin-top:5px}.message-list{display:flex;flex-direction:column;gap:10px;margin:15px 0;min-height:180px}.message-bubble{max-width:88%;padding:11px 13px;border-radius:12px 12px 12px 3px;background:var(--soft);font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;align-self:flex-start}.message-bubble.mine{align-self:flex-end;border-radius:12px 12px 3px 12px;background:var(--accent);color:var(--accent-text)}.message-bubble small{display:block;color:inherit;opacity:.7;font-size:10px;margin-top:5px}.message-form{display:flex;gap:8px;align-items:flex-end;position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));background:var(--surface);padding:10px 0}.message-form textarea{flex:1;min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--text);resize:vertical;border-radius:12px;padding:12px;font-size:16px;min-height:49px;max-height:180px}.message-form button{min-width:48px;width:48px;padding:12px}.message-form svg{width:21px}.map{height:290px;background:var(--soft);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:14px 0;z-index:0}.map-help{font-size:12px;color:var(--muted);margin:8px 0;line-height:1.5}.city-results{display:grid;max-height:250px;overflow:auto;margin:8px 0}.city-result{background:none;border:0;border-bottom:1px solid var(--line);padding:12px 3px;display:flex;align-items:center;gap:10px;text-align:left;font-size:15px;min-height:52px}.city-result small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.city-result svg{width:18px;color:var(--muted)}.radius-display{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:650}.radius-options{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.radius-options button{padding:8px 12px;font-size:12px}.geo-button{margin:10px 0 0}.sheet-top{position:sticky;top:0;z-index:2;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px 10px}.sheet-top h2{font-size:21px}dialog{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0 auto;padding:0;border:0;border-radius:20px 20px 0 0;background:var(--surface);color:var(--text);width:min(560px,100%);max-width:100%;max-height:90dvh;overflow:auto;overscroll-behavior:contain;box-shadow:0 -8px 60px #00000020}dialog::backdrop{background:#16202b70}#sheet-body{padding:0 20px calc(20px + env(safe-area-inset-bottom))}.sheet-actions{position:sticky;bottom:0;padding:14px 0 0;background:var(--surface);margin-top:10px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 14px);background:var(--text);color:var(--surface);z-index:1500;width:max-content;max-width:calc(100vw - 32px);padding:12px 17px;border-radius:12px;font-size:13px;line-height:1.45;box-shadow:0 4px 20px #00000020}.inline-error{color:var(--danger);font-size:13px;line-height:1.5;margin:10px 0;white-space:pre-wrap}.inline-success{color:var(--success);font-size:13px;margin:10px 0}.feed-map{height:420px;margin-bottom:16px}.leaflet-popup-content-wrapper{background:var(--surface);color:var(--text)}.leaflet-popup-tip{background:var(--surface)}.map-popup{font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.map-popup strong{display:block;margin-bottom:7px}.map-popup button{background:var(--accent);color:var(--accent-text);border:0;padding:7px 10px;border-radius:6px;margin-top:8px}.lock-icon{background:var(--accent);color:var(--accent-text)}.hidden-input{position:absolute;width:1px;height:1px;opacity:0}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.toggle-row input{width:20px;height:20px}.listing-count{font-variant-numeric:tabular-nums}.search-help{font-size:12px;color:var(--muted);margin:8px 0}.subscription-card{margin-top:22px;padding:17px;background:var(--soft);border-radius:14px;display:flex;align-items:center;gap:12px}.subscription-card>svg{flex:none;color:var(--muted)}.subscription-card p{font-size:13px;line-height:1.45;color:var(--muted);margin:5px 0 10px}.subscription-card h3{font-size:15px}.subscription-card button{font-size:13px;min-height:36px;padding:8px 12px}.form-error-anchor{scroll-margin:25px}.photo-loading{position:absolute;inset:0;display:grid;place-items:center;background:#ffffffc9}.photo-error{padding:10px;font-size:12px;color:var(--danger);position:absolute;inset:0;background:var(--surface);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;text-align:center}.photo-error button{font-size:12px;padding:6px;min-height:30px}.distance-text{font-variant-numeric:tabular-nums}.safe-note{font-size:12px;line-height:1.5;color:var(--muted)}.action-menu{display:grid;gap:8px}.action-menu button{width:100%;justify-content:flex-start;text-align:left}.review-photos{display:flex;gap:7px;overflow:auto;margin:12px 0}.review-photos img{width:85px;height:70px;object-fit:cover;border-radius:8px;flex:none}
@media(min-width:760px){.topbar{padding-left:34px;padding-right:34px;height:88px}main{padding:30px 34px 110px}.category-row{margin:0 -34px;padding-left:34px;padding-right:34px}.bottom-nav{padding-left:25%;padding-right:25%}.page-head h1{font-size:31px}.gallery{margin-left:0;margin-right:0;padding:0}.location-row{margin-top:3px}.list-grid{gap:18px}.card-photo{height:235px}.card-body{padding:20px}.brand-name{font-size:21px}.brand-name>span{font-size:12px}.segmented{max-width:500px}.search-row{max-width:100%}.card-title{font-size:20px}.mine-tabs{max-width:650px}.mine-content{max-width:780px}.feed-map{height:500px}dialog{bottom:50%;transform:translateY(50%);border-radius:20px;max-height:85dvh}#sheet-body{padding-bottom:24px}}
@media(max-width:620px){.list-grid{grid-template-columns:1fr}.topbar{padding:15px 18px;height:76px}main{padding-top:21px;padding-left:18px;padding-right:18px}.category-row{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.card-photo{height:195px}.card-body{gap:9px;padding:17px}.card-title{font-size:18px}.card-price{font-size:20px}.listing-card:not(.has-photo) .card-body{min-height:168px}.card-desc{-webkit-line-clamp:2}.page-head{margin-bottom:17px}.gallery{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.gallery img{height:250px}.detail-title{font-size:26px}.brand-name{font-size:18px}.header-actions{gap:5px}.location-button .location-copy{max-width:225px}.feed-map{height:320px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.spinner{border-top-color:var(--text)}}
.source-badge{display:inline-flex;align-items:center;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--muted);font-size:11px;line-height:1.4}.card-body>.source-badge{align-self:flex-start}.listing-labels{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.external-terms{display:grid;gap:6px;margin:16px 0;color:var(--muted);font-size:13px;line-height:1.5}.external-terms strong{font-weight:600}
.feed-empty{margin:16px auto;padding:8px 0}.feed-empty .empty-icon{display:none}.feed-empty .button-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.feed-empty .button-row>*{width:100%;min-width:0}.feed-empty .text-button{justify-content:center}
:root{--nav-h:64px}
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom));gap:6px}
.nav-item{min-height:48px}
.feed-page{padding-top:12px}
.feed-kinds{max-width:none;margin-bottom:6px}
.feed-kinds button{padding:10px 6px;font-size:13px;min-height:36px;white-space:nowrap}
.feed-intent{font-size:12px;line-height:1.4;color:var(--muted);margin-bottom:10px}
.feed-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}
.feed-toolbar .location-button{min-width:0;min-height:38px;padding:8px 10px;font-size:13px}
.feed-toolbar .location-copy{min-width:0;max-width:100%}
.feed-filter-toggle,.feed-map-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:13px;white-space:nowrap}
.feed-filter-toggle svg,.feed-map-toggle svg{width:17px;height:17px}
.feed-filter-toggle svg:last-child{width:13px;height:13px;transition:transform .15s}
.feed-filter-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}
.feed-filter-toggle.has-filters{border-color:var(--muted)}
.filter-count{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:6px;background:var(--accent);color:var(--accent-text);font-size:11px;font-weight:700}
.feed-map-toggle{border-color:transparent;color:var(--link);padding-left:5px;padding-right:0}
.feed-filter-panel{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.feed-filter-panel .search-box input{height:42px}
.filter-category{display:flex;align-items:center;gap:8px;text-align:left;min-height:40px;padding:8px 10px;background:var(--soft);border:0;border-radius:10px;font-size:13px;overflow-wrap:anywhere}
.filter-category svg{width:17px;height:17px}
.filter-panel-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px}
.filter-panel-actions .text-button{font-size:12px;min-height:32px}
.active-filter-summary{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:none;border:0;padding:7px 0 0;color:var(--link);font-size:12px;line-height:1.4}
.feed-page .result-line{margin:6px 0 10px;font-size:12px;min-height:28px}
.feed-page .result-line .text-button{font-size:12px}
.card-labels{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;padding-right:28px}
.card-labels .card-kind{padding-right:0}
.card-labels .source-badge{padding:3px 6px;font-size:10px;line-height:1.3}
.feed-page .card-body{padding:14px;gap:7px}
.feed-page .listing-card:not(.has-photo) .card-body{min-height:0}
.feed-page .card-photo{height:160px}
.menu-list>button>svg:first-child{margin-left:0;width:20px;height:20px;color:var(--muted)}
@media(min-width:760px){.feed-page{padding-top:20px}.feed-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.feed-filter-panel{max-width:640px}.feed-kinds button{font-size:14px}.feed-page .card-photo{height:210px}}

/* Light workspace, based on the October 2026 interface references. */
:root{--bg:#f6f7f9;--surface:#fff;--text:#20252b;--muted:#626d7b;--line:#e1e5eb;--soft:#eef1f5;--accent:#ffd43b;--accent-text:#20252b;--link:#345b80;--nav-h:68px}
body{line-height:1.45}
.app-shell{background:var(--bg)}
main{padding:22px 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px)}
h1{font-size:26px;letter-spacing:-.65px;line-height:1.2}
button,input,textarea,select{accent-color:#a87c00}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-width:2px;outline-offset:2px}
.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);min-height:48px}
.primary:hover{background:#ffcc19;border-color:#ffcc19}
.secondary{background:var(--surface)}
.text-button{min-height:40px}
.segmented{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:3px;gap:3px}
.segmented button{min-height:44px;padding:10px 8px}
.segmented button.active{background:var(--accent);box-shadow:none;color:var(--text)}
.chip.active{background:var(--accent);border-color:var(--accent);color:var(--text)}
.feed-page{padding-top:12px}
.feed-toolbar{gap:8px;margin-bottom:10px}
.feed-toolbar .location-button,.feed-filter-toggle,.feed-map-toggle{min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:12px;color:var(--text)}
.feed-toolbar .location-button{padding:8px 10px;gap:6px;font-size:13px}
.feed-toolbar .location-button>svg:last-child{width:13px;height:13px;margin-left:auto}
.feed-filter-toggle{padding:8px 10px;gap:6px}
.feed-filter-toggle>svg:last-child{display:none}
.feed-filter-toggle[aria-expanded=true]{background:#fff5cc;border-color:#e4c75b}
.feed-map-toggle{width:44px;padding:10px;font-size:0;gap:0}
.feed-map-toggle svg{width:20px;height:20px}
.feed-kinds{margin-bottom:8px}
.feed-kinds button{min-width:0;min-height:42px;font-size:13px;padding:10px 5px}
.feed-intent{margin-bottom:0;font-size:12px;color:var(--muted)}
.feed-page .result-line{margin:2px 0 6px;min-height:32px}
.feed-page .result-line .text-button{min-height:36px}
.feed-filter-panel{background:var(--surface);padding:12px;margin:12px 0 6px}
.feed-filter-panel .search-box{border-color:var(--line);background:var(--bg)}
.feed-filter-panel .search-box input{height:44px}
.filter-category{min-height:44px}
.filter-panel-actions .text-button{min-height:40px}
.active-filter-summary{white-space:normal;overflow-wrap:anywhere;padding:9px 0 2px;min-height:36px}
.list-grid{gap:10px;align-items:start}
.listing-card{border-color:var(--line);border-radius:16px;box-shadow:0 2px 5px #20252b03}
.listing-card:hover{border-color:#bbc3cd}
.listing-card .card-body,.feed-page .card-body{padding:13px;gap:7px;min-height:0}
.card-labels{gap:5px;padding-right:38px;min-height:22px}
.card-kind{font-size:11px;line-height:1.3;padding:3px 6px;background:var(--soft);border-radius:6px;color:#525e6c}
.card-kind.request-kind{background:#fff2c7;color:#715720}
.card-labels .source-badge{font-size:11px;padding:3px 6px;background:#f5f6f8;border-color:var(--line);color:#626d7b}
.card-content{display:flex;gap:12px;align-items:flex-start;min-width:0}
.card-copy{flex:1;min-width:0}
.card-title{font-size:17px;line-height:1.3;letter-spacing:-.3px;font-weight:700}
.card-desc{margin-top:5px;font-size:13px;line-height:1.45;color:var(--muted);-webkit-line-clamp:2}
.listing-card .card-photo{width:88px;height:78px;flex:none;border-radius:10px;object-fit:cover}
.card-meta{margin-top:0;padding:0;align-items:flex-start;flex-wrap:wrap;gap:4px;font-size:12px;line-height:1.5}
.card-meta>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}
.card-meta svg{margin-top:2px;width:14px;height:14px}
.card-date{margin-top:-3px}
.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0f4;padding-top:9px;margin-top:2px}
.card-price{font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.25px;overflow-wrap:anywhere}
.card-bottom>svg{width:17px;height:17px;color:var(--muted)}
.card-favorite{width:44px;height:44px;top:2px;right:3px;border:0;background:transparent}
.listing-card.has-photo .card-favorite{background:transparent;color:var(--muted)}
.card-favorite svg{width:20px;height:20px}
.card-favorite.is-favorite,.listing-card.has-photo .card-favorite.is-favorite{color:var(--danger)}
.bottom-nav{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:6px 12px calc(6px + env(safe-area-inset-bottom));gap:4px;box-shadow:0 -3px 14px #20252b04;background:#fff}
.nav-item{font-size:11px;gap:3px;border-radius:0;min-height:52px;line-height:1.2;color:var(--muted)}
.nav-item>span:first-child{display:grid;place-items:center;width:34px;height:30px;border-radius:9px}
.nav-item.active{background:none;color:var(--text)}
.nav-item.active>span:first-child{background:#fff0b5}
.nav-create>span:first-child,.nav-create.active>span:first-child{background:var(--accent)}
.nav-item svg{width:22px;height:22px}
.nav-create svg{width:20px;height:20px}
.back-row{margin:0 0 14px;min-height:44px}
.detail-actions{display:flex;gap:4px;flex:none}
.detail-actions>button{flex:0 0 44px;width:44px;min-height:44px}
.back-button{min-height:44px;padding:6px 0}
.detail-labels{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;align-items:center}
.detail-title{font-size:26px;line-height:1.23;margin-bottom:12px}
.detail-price{font-size:23px;line-height:1.3;margin:0 0 18px}
.detail-facts{margin:16px 0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:0 14px}
.detail-fact{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #edf0f4;font-size:14px;line-height:1.45}
.detail-fact:last-child{border:0}
.detail-fact dt{display:flex;gap:8px;align-items:flex-start;color:var(--muted)}
.detail-fact dt svg{width:18px;height:18px;margin-top:1px}
.detail-fact dd{margin:0;overflow-wrap:anywhere;font-weight:550}
.detail-section{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface);margin:16px 0}
.detail-section h2{font-size:17px;margin-bottom:10px}
.detail-description{font-size:15px;line-height:1.6}
.owner-line{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.owner-avatar{background:#fff2c7;color:#715720;flex:none}
.contact-footer{padding:12px;margin:20px -4px -4px;border:1px solid var(--line);border-radius:16px 16px 0 0;box-shadow:0 -4px 18px #20252b05}
.contact-footer .small{font-size:12px;line-height:1.4}
.gallery{margin:0 0 18px;padding:0;gap:8px}
.gallery img{border-radius:14px;max-width:100%;height:220px}
.note{display:flex;align-items:flex-start;gap:9px;background:var(--soft);padding:13px;line-height:1.5}
.note svg{flex:none;width:19px;height:19px;margin:1px 0 0}
.create-choice .page-head{margin-bottom:20px}
.create-choice-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0}
.choice-heading{display:flex;gap:13px;align-items:center;margin-bottom:17px}
.choice-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:#fff2c7;color:#715720}
.choice-icon svg{width:25px;height:25px}
.choice-heading h2{font-size:18px;line-height:1.3}
.choice-heading p{font-size:14px;line-height:1.45;color:var(--muted);margin-top:5px}
.create-choice-card button{flex-direction:row-reverse}
.create-choice-card button svg{width:17px;height:17px}
.form-shell .page-head{margin-bottom:20px}
.field>label,.field-label{font-size:14px;font-weight:550}
.field input,.field textarea,.field select,.input{border-radius:12px;min-height:48px}
.category-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-size:16px;text-align:left}
.category-picker-label{min-width:0;overflow-wrap:anywhere}
.category-picker>svg{width:18px;height:18px;color:var(--muted)}
.category-picker[aria-invalid=true]{border-color:var(--danger)}
.field small{line-height:1.5}
.step-line{gap:6px;margin:0 0 22px}
.step-line span{height:5px}
.form-actions{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));background:var(--bg);padding:12px 0 6px;margin-top:20px;z-index:5}
.form-actions .primary{flex:2}
.draft-state{min-height:36px;margin-top:0;font-size:11px}
.profile-page{max-width:600px;margin:auto}
.profile-info{border:0;padding:3px 0 20px;gap:14px}
.profile-info .owner-avatar{width:56px;height:56px;font-size:25px}
.profile-info>div:last-child{min-width:0;overflow-wrap:anywhere}
.profile-info strong{font-size:18px;line-height:1.35}
.profile-info p{font-size:13px}
.profile-create{width:100%;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:15px;display:flex;align-items:center;gap:12px;text-align:left;margin:0 0 16px}
.profile-create .choice-icon{background:var(--accent);color:var(--text);width:42px;height:42px}
.profile-create>span:nth-child(2){flex:1;min-width:0}
.profile-create strong{font-size:14px;line-height:1.4;display:block}
.profile-create small{font-size:12px;line-height:1.45;color:var(--muted);display:block;margin-top:4px}
.profile-create>svg{width:16px;height:16px;color:var(--muted)}
.profile-page .menu-list{padding:0 16px;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:0}
.profile-page .menu-list>button{padding:16px 0;min-height:58px;gap:13px;font-size:14px;line-height:1.4}
.profile-page .menu-list>button:last-child{border:0}
.profile-page .menu-list>button>span{flex:1}
.profile-page .menu-list>button>svg:first-child{color:var(--text)}
.profile-page .note{font-size:12px;margin-top:16px}
.mine-card{background:var(--surface)}
.mine-tabs button{font-size:13px;padding:10px 5px;min-width:0}
.sheet-top{padding:16px 16px 10px}
.sheet-top h2{font-size:21px}
#sheet-body{padding-left:16px;padding-right:16px}
dialog{border-radius:22px 22px 0 0;box-shadow:0 -8px 60px #20252b20}
dialog::backdrop{background:#20252b66}
.sheet-actions{padding-bottom:4px}
.subscription-card{border:1px solid var(--line);background:var(--surface);margin-top:16px;padding:14px}
.subscription-card button{min-height:44px}
.empty-state h2{font-size:22px}
.feed-empty{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 16px;margin:0}
@media(max-width:350px){main{padding-left:12px;padding-right:12px}.feed-toolbar{gap:6px}.feed-toolbar .location-button{padding-left:8px;padding-right:8px}.feed-filter-toggle{font-size:12px;padding:8px}.feed-kinds button{font-size:12px}.card-title{font-size:16px}.listing-card .card-photo{width:70px;height:70px}.profile-create{padding:12px;gap:9px}.profile-create strong{font-size:13px}.detail-fact{grid-template-columns:85px minmax(0,1fr)}}
/* Percentage padding uses the viewport; cap it for the 1120px navigation bar. */
@media(min-width:760px){main{padding:28px 32px calc(var(--nav-h) + env(safe-area-inset-bottom) + 30px)}.feed-page{padding-top:24px}.feed-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.feed-kinds{max-width:520px}.feed-kinds button{font-size:14px}.list-grid{gap:14px}.listing-card .card-body{padding:17px}.card-title{font-size:19px}.listing-card .card-photo{width:112px;height:92px}.bottom-nav{padding-left:clamp(12px,calc((100% - 480px)/2),320px);padding-right:clamp(12px,calc((100% - 480px)/2),320px)}.detail-title{font-size:30px}.gallery img{height:300px}dialog{border-radius:22px}.contact-footer{margin-left:0;margin-right:0}}

/* RentTech brand refresh. Shared presentation for every existing route and sheet. */
:root {
  --bg: #f3f6fb;
  --surface: #ffffff;
  --text: #132d52;
  --muted: #596d88;
  --line: #dce4ef;
  --soft: #eaf0f8;
  --accent: #ffd029;
  --accent-text: #102e5b;
  --link: #1455ad;
  --navy: #12346a;
  --blue: #1355b5;
  --yellow-soft: #fff6d5;
  --danger: #b12e35;
  --success: #216445;
  --nav-h: 74px;
  --radius: 18px;
  --card-shadow: 0 4px 16px #143b6b09;
}

body {
  background: #e7edf6;
  line-height: 1.5;
}

.app-shell {
  background: var(--bg);
  box-shadow: 0 0 80px #12346a0a;
}

main {
  padding: 22px 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 26px);
}

h1, h2, h3, strong { color: var(--text); }
h1 { font-weight: 800; letter-spacing: -.7px; }
h2 { font-weight: 750; }

button, a, input, textarea, select { accent-color: var(--blue); }
button { transition: background-color .16s, border-color .16s, box-shadow .16s; }
button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}

.topbar {
  position: relative;
  height: auto;
  min-height: 82px;
  padding: 17px 20px;
  background: var(--navy);
  color: #fff;
  border: 0;
  border-bottom: 4px solid var(--accent);
  overflow: hidden;
}

.topbar::after {
  content: "";
  width: 124px;
  position: absolute;
  top: 0;
  right: -38px;
  bottom: 0;
  transform: skewX(-28deg);
  border-left: 1px solid #ffffff1a;
  background: #ffffff06;
  pointer-events: none;
}

.brand { position: relative; z-index: 1; gap: 12px; min-width: 0; }
.brand-mark {
  width: 43px;
  height: 43px;
  flex: none;
  border-radius: 50%;
  background: var(--accent);
  color: var(--navy);
  font-size: 29px;
  font-weight: 900;
  letter-spacing: -2px;
  padding: 0 2px 0 0;
}
.brand-mark span { background: var(--navy); }
.brand-name { color: #fff; font-size: 23px; line-height: 1.15; letter-spacing: -.65px; }
.brand-name > span { color: #d5e3fa; font-size: 11px; letter-spacing: .15px; margin-top: 4px; }

.primary, .secondary, .danger-button {
  min-height: 48px;
  border-radius: 13px;
  font-weight: 700;
  line-height: 1.4;
}
.primary {
  background: var(--accent);
  border-color: #f1c125;
  color: var(--accent-text);
  box-shadow: 0 3px 0 #d8a90e24;
}
.primary:hover { background: #ffda4b; border-color: #e6b820; }
.secondary { background: var(--surface); border-color: #c6d5e9; color: var(--navy); }
.secondary:hover { background: var(--soft); border-color: #9bb7dc; }
.danger-button { color: var(--danger); border-color: #e9cbd0; background: #fff; }
.danger-button:hover { background: #fff2f3; }
.text-button { color: var(--link); font-weight: 600; }
.icon-btn { color: var(--navy); }
.icon-btn:hover { background: var(--soft); }

.page-head {
  position: relative;
  padding: 23px 21px;
  margin-bottom: 24px;
  background: var(--navy);
  border-radius: 18px 18px 26px 18px;
  border-bottom: 4px solid var(--accent);
  box-shadow: var(--card-shadow);
  overflow: hidden;
}
.page-head > div { position: relative; z-index: 1; min-width: 0; }
.page-head h1 { color: #fff; font-size: 26px; line-height: 1.22; }
.page-head p { color: #dce8fc; line-height: 1.5; }
.page-head::after {
  content: "";
  position: absolute;
  width: 90px;
  height: 90px;
  border: 1px solid #ffffff12;
  transform: rotate(35deg);
  right: -42px;
  top: -38px;
  pointer-events: none;
}

/* Search, results, saved searches and map/list switching. */
.feed-page { padding-top: 18px; }
.feed-toolbar {
  margin: 0 0 14px;
  padding: 10px;
  gap: 7px;
  background: var(--accent);
  border: 1px solid #f0c12a;
  border-radius: 16px;
}
.feed-toolbar .location-button, .feed-filter-toggle, .feed-map-toggle {
  min-height: 44px;
  background: #fff9e7;
  border-color: #edc952;
  color: var(--navy);
  border-radius: 10px;
}
.feed-toolbar .location-button { font-weight: 600; }
.feed-filter-toggle { font-size: 12px; padding: 8px; }
.feed-filter-toggle[aria-expanded=true], .feed-filter-toggle.has-filters {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.filter-count { background: var(--accent); color: var(--navy); }
.feed-map-toggle { background: var(--navy); border-color: var(--navy); color: var(--accent); }
.segmented {
  padding: 4px;
  gap: 4px;
  background: #e5ecf7;
  border: 1px solid #d7e1ef;
  border-radius: 14px;
}
.segmented button { color: #435c7d; min-height: 45px; font-weight: 650; border-radius: 10px; }
.segmented button.active {
  background: var(--navy);
  color: #fff;
  box-shadow: inset 0 -3px 0 var(--accent), 0 2px 4px #12346a12;
}
.feed-kinds { margin-bottom: 10px; }
.feed-kinds button { white-space: normal; font-size: 13px; padding: 10px 6px; }
.feed-intent { font-size: 12px; color: var(--muted); margin: 0 2px 8px; }
.feed-filter-panel {
  background: #fff;
  border-color: var(--line);
  border-radius: 16px;
  padding: 14px;
  box-shadow: var(--card-shadow);
}
.feed-filter-panel .search-box { background: var(--bg); border-color: var(--line); }
.search-box:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px #1355b510; }
.filter-category { background: var(--soft); color: var(--navy); border: 1px solid var(--line); }
.chip { color: var(--navy); border-color: #d2dff0; border-radius: 11px; }
.chip.active { background: var(--navy); border-color: var(--navy); color: #fff; box-shadow: inset 0 -2px var(--accent); }
.result-line { color: var(--muted); }
.listing-count { font-weight: 650; color: var(--navy); }
.active-filter-summary { color: var(--link); }
.list-grid { gap: 14px; }
.listing-card {
  border-color: #dce5f0;
  border-radius: 18px;
  box-shadow: var(--card-shadow);
  background: #fff;
}
.listing-card:hover { border-color: #a8bedc; box-shadow: 0 6px 20px #12346a12; }
.listing-card .card-body, .feed-page .card-body { padding: 16px; gap: 10px; }
.card-labels { min-height: 23px; padding-right: 34px; }
.card-kind { color: #28518a; background: #eaf1fb; padding: 4px 8px; border-radius: 6px; font-size: 11px; font-weight: 650; }
.card-kind.request-kind { color: #705510; background: var(--yellow-soft); }
.card-title { font-size: 18px; font-weight: 750; line-height: 1.3; letter-spacing: -.35px; color: var(--navy); }
.card-desc { margin-top: 6px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.card-content { gap: 14px; }
.listing-card .card-photo { width: 92px; height: 88px; border-radius: 12px; background: var(--soft); }
.card-meta { color: var(--muted); font-size: 12px; }
.card-meta svg { color: var(--blue); }
.card-bottom { margin-top: 2px; padding-top: 11px; border-color: #e7edf6; }
.card-price { color: var(--navy); font-size: 17px; font-weight: 800; }
.card-bottom > svg { color: var(--blue); }
.card-favorite, .listing-card.has-photo .card-favorite { color: #637d9e; top: 5px; right: 5px; }
.card-favorite.is-favorite, .listing-card.has-photo .card-favorite.is-favorite { color: var(--danger); }
.status-pill { background: #eaf0f9; color: #34537e; padding: 5px 8px; font-weight: 600; }
.subscription-card {
  padding: 18px;
  gap: 14px;
  background: #eaf1fc;
  border: 1px solid #d0dff4;
  border-radius: 18px;
  box-shadow: none;
}
.subscription-card > svg { color: var(--blue); width: 25px; height: 25px; }
.subscription-card h3 { color: var(--navy); font-size: 16px; }
.subscription-card p { color: #526b90; }
.subscription-card button { color: var(--navy); border-color: #bbceea; background: #fff; }

/* Persistent navigation and content detail. */
.bottom-nav {
  background: #fff;
  border-top: 1px solid #dce5f1;
  height: calc(var(--nav-h) + env(safe-area-inset-bottom));
  padding: 7px 12px calc(7px + env(safe-area-inset-bottom));
  gap: 4px;
  box-shadow: 0 -4px 20px #12346a08;
}
.nav-item { position: relative; border-radius: 12px; color: #61738d; gap: 3px; font-size: 11px; font-weight: 550; }
.nav-item > span:first-child { width: 35px; height: 30px; border-radius: 9px; }
.nav-item.active { background: #eef3fb; color: var(--navy); font-weight: 750; }
.nav-item.active::before { content: ""; position: absolute; top: -7px; width: 30px; height: 3px; border-radius: 0 0 4px 4px; background: var(--accent); }
.nav-item.active > span:first-child { background: transparent; color: var(--blue); }
.nav-create > span:first-child, .nav-create.active > span:first-child { color: var(--navy); background: var(--accent); }
.back-button { color: var(--link); font-weight: 600; }
.detail-actions .icon-btn { background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.detail-labels { margin-bottom: 14px; }
.detail-title { color: var(--navy); font-weight: 800; line-height: 1.25; }
.detail-price { color: var(--blue); font-weight: 800; }
.detail-facts, .detail-section, .owner-line {
  border-radius: 18px;
  border-color: var(--line);
  background: #fff;
  box-shadow: var(--card-shadow);
}
.detail-facts { border-top: 3px solid var(--accent); }
.detail-fact { border-color: #e6edf7; }
.detail-fact dt svg { color: var(--blue); }
.detail-fact dd { color: var(--navy); }
.detail-section { padding: 18px; }
.detail-section h2 { color: var(--navy); font-weight: 750; }
.detail-description { color: #304867; }
.detail-badge { background: #eaf0f9; color: #355682; border-radius: 10px; }
.owner-line { padding: 16px; gap: 13px; }
.owner-avatar { background: var(--accent); color: var(--navy); font-weight: 800; flex: none; }
.gallery img { border-radius: 16px; }
.contact-footer {
  background: #fff;
  border-color: #d5e0ef;
  border-top: 3px solid var(--accent);
  border-radius: 18px 18px 0 0;
  padding: 14px;
  box-shadow: 0 -4px 20px #12346a09;
}
.contact-footer .primary { font-size: 16px; }
.note {
  background: #eaf0f9;
  color: #435e83;
  border: 1px solid #dae5f4;
  border-radius: 13px;
}
.note svg { color: var(--blue); }
.note.error { background: #fff4f4; color: var(--danger); border-color: #edc8cc; }
.note.error svg { color: var(--danger); }
.safe-note { color: var(--muted); }

/* Create/edit flow and all reusable form controls. */
.create-choice-card {
  padding: 20px;
  border: 1px solid #d6e2f1;
  border-radius: 18px;
  box-shadow: var(--card-shadow);
}
.choice-heading { gap: 14px; margin-bottom: 18px; }
.choice-icon { background: var(--yellow-soft); color: var(--navy); border: 1px solid #f4dda0; border-radius: 13px; width: 48px; height: 48px; }
.choice-heading h2 { color: var(--navy); font-weight: 750; }
.choice-heading p { color: var(--muted); }
.step-label { color: var(--link); font-weight: 650; }
.step-line { gap: 7px; margin-bottom: 24px; }
.step-line span { background: #dbe5f3; height: 6px; border-radius: 4px; }
.step-line span.active { background: var(--blue); box-shadow: inset 0 -2px var(--accent); }
.field { gap: 8px; margin: 20px 0; }
.field > label, .field-label { font-weight: 650; font-size: 14px; color: var(--navy); }
.field input, .field textarea, .field select, .input, .category-picker, .message-form textarea {
  background: #fff;
  color: var(--text);
  border: 1px solid #cdd9ea;
  border-radius: 12px;
  min-height: 50px;
  padding: 13px;
  font-size: 16px;
  box-shadow: 0 1px 2px #12346a04;
}
.field input::placeholder, .field textarea::placeholder,
.input::placeholder, .message-form textarea::placeholder { color: var(--muted); opacity: 1; }
.field input:focus, .field textarea:focus, .field select:focus, .input:focus, .message-form textarea:focus {
  border-color: var(--blue);
}
.category-picker > svg { color: var(--blue); }
.field input[aria-invalid=true], .field textarea[aria-invalid=true],
.category-picker[aria-invalid=true] { border-color: var(--danger); background: #fff8f8; }
input[type=range], input[type=checkbox], input[type=radio] { accent-color: var(--blue); }
.kind-option { border-radius: 14px; border-color: var(--line); }
.kind-option.active { border-color: var(--blue); background: #edf3fd; }
.kind-option.active .kind-icon { background: var(--accent); color: var(--navy); }
.photo-upload { background: #edf3fc; border: 1px dashed #a1b9dc; color: var(--navy); border-radius: 16px; min-height: 126px; }
.photo-upload > svg { color: var(--blue); width: 28px; height: 28px; }
.photo-tile { border-color: #d2def0; border-radius: 13px; }
.photo-cover { background: var(--accent); color: var(--navy); font-weight: 700; }
.review-summary { background: #fff8e0; border: 1px solid #eedca3; border-radius: 16px; padding: 18px; }
.review-summary h3 { color: var(--navy); }
.review-summary p { color: #5a634f; }
.form-actions { background: var(--bg); padding: 14px 0 8px; }
.form-actions .primary { font-size: 16px; }
.draft-state { color: var(--muted); }

/* My listings, responses, conversations and profile. */
.mine-tabs { margin-bottom: 20px; }
.mine-tabs button { min-width: 0; padding: 10px 5px; font-size: 12px; }
.mine-card { padding: 18px; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--card-shadow); background: #fff; }
.mine-card h3 { color: var(--navy); font-weight: 750; }
.mine-card .button-row { gap: 8px; }
.mine-card .button-row button { border-radius: 10px; min-height: 44px; }
.response-status { color: var(--success); font-weight: 600; }
.message-list { padding: 6px 0; gap: 12px; }
.message-bubble { background: #fff; border: 1px solid #d7e3f2; border-radius: 16px 16px 16px 4px; box-shadow: 0 2px 6px #12346a05; color: var(--text); padding: 12px 15px; }
.message-bubble.mine { color: var(--navy); background: #fff0b3; border-color: #edda88; border-radius: 16px 16px 4px 16px; }
.message-form { background: var(--bg); padding: 12px 0; gap: 10px; }
.message-form button { min-width: 50px; width: 50px; min-height: 50px; border-radius: 13px; }
.profile-info { padding: 0 2px 22px; }
.profile-info .owner-avatar { width: 58px; height: 58px; box-shadow: 0 0 0 5px #fff, 0 0 0 6px #dae4f2; }
.profile-info strong { color: var(--navy); font-size: 19px; }
.profile-create { background: #fff; border: 1px solid #ccdcef; border-radius: 18px; padding: 18px; box-shadow: var(--card-shadow); }
.profile-create strong { color: var(--navy); }
.profile-create .choice-icon { background: var(--accent); color: var(--navy); border: 0; }
.profile-create > svg { color: var(--blue); }
.profile-page .menu-list { border-color: var(--line); border-radius: 18px; box-shadow: var(--card-shadow); }
.profile-page .menu-list > button { padding: 17px 0; min-height: 62px; border-color: #e5ecf6; color: var(--navy); }
.profile-page .menu-list > button > svg:first-child { color: var(--blue); width: 21px; height: 21px; }
.profile-page .menu-list > button > svg:last-child { color: #7c96b8; }
.profile-page .note { margin-top: 18px; }

/* Sheets, categories, location, tariffs, safety and empty states. */
dialog {
  background: #fff;
  border: 1px solid #dce5f2;
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -12px 70px #0c244e30;
}
dialog::backdrop { background: #0b234b80; }
.sheet-top { background: var(--navy); border-bottom: 3px solid var(--accent); padding: 17px 18px 14px; margin-bottom: 18px; gap: 8px; }
.sheet-top h2 { color: #fff; font-size: 21px; font-weight: 750; line-height: 1.3; min-width: 0; overflow-wrap: anywhere; }
.sheet-top .icon-btn { background: #ffffff10; color: #fff; flex: none; }
.sheet-top .icon-btn:hover { background: #ffffff24; }
.sheet-top .icon-btn:focus-visible { outline-color: var(--accent); }
#sheet-body { padding: 0 18px calc(22px + env(safe-area-inset-bottom)); }
.sheet-actions { background: #fff; padding-top: 14px; }
.city-results { gap: 2px; }
.city-result { color: var(--navy); border-color: #e4ebf5; padding: 13px 8px; border-radius: 9px; }
.city-result:hover { background: var(--soft); }
.city-result[aria-pressed=true] { background: #edf3fd; font-weight: 700; }
.city-result[aria-pressed=true] svg { color: var(--blue); }
.toggle-row { border-color: #e3eaf5; color: var(--navy); padding: 16px 0; }
.subscription-row { border-color: #e3eaf5; padding: 16px 0; min-width: 0; }
.subscription-row > div { min-width: 0; overflow-wrap: anywhere; }
.subscription-row > span { color: var(--navy); font-weight: 700; }
.tariff { border-radius: 18px; border-color: #cfdef1; background: #f7faff; padding: 19px; box-shadow: var(--card-shadow); }
.tariff h3 { color: var(--navy); }
.tariff .price { color: var(--blue); font-size: 24px; font-weight: 800; }
.tariff .note { background: #fff6d5; color: #655324; border-color: #f0dda4; }
.empty-state, .error-state { padding: 24px 18px; }
.empty-state h2, .error-state h2 { color: var(--navy); }
.empty-icon { background: #e5eefc; color: var(--blue); border: 1px solid #d3e1f7; border-radius: 20px; box-shadow: inset 0 -4px var(--accent); }
.feed-empty { background: #fff; border-color: var(--line); border-radius: 18px; padding: 26px 20px; box-shadow: var(--card-shadow); }
.inline-error { color: var(--danger); }
.inline-success { color: var(--success); }
.spinner { border-color: #dbe5f4; border-top-color: var(--blue); }
.skeleton { border-color: var(--line); border-radius: 18px; }
.toast { background: var(--navy); color: #fff; border: 1px solid #244e87; border-radius: 13px; box-shadow: 0 6px 25px #12346a25; }

/* Preserve Leaflet geometry, tiles, attribution and interactions. */
.map-unlocated { margin: 20px 0; }
.map-unlocated > h2 { font-size: 18px; margin-bottom: 6px; }
.map-unlocated > p { margin-bottom: 14px; }
.map-cluster { display: grid; place-items: center; background: var(--accent); color: var(--navy); border: 2px solid var(--blue); border-radius: 50%; font: 750 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; box-shadow: 0 2px 7px #12346a35; }
.map-cluster:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.map-popup-count { font-weight: 700; color: var(--navy); }
.map-popup-item + .map-popup-item { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.leaflet-popup-content .map-popup-location { margin: 7px 0 0; font-size: 12px; color: var(--muted); }
.map { border: 1px solid #cbd9ed; border-radius: 16px; box-shadow: var(--card-shadow); }
.map-popup { color: var(--text); }
.map-popup strong { color: var(--navy); }
.map-popup button { color: var(--navy); background: var(--accent); border-radius: 9px; padding: 9px 13px; font-weight: 700; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: #fff; color: var(--text); }
.leaflet-popup-content-wrapper { border-radius: 14px; }
.leaflet-container .leaflet-control-zoom { border: 1px solid #c7d8ee; border-radius: 12px; overflow: hidden; box-shadow: 0 3px 12px #12346a15; }
.leaflet-container .leaflet-control-zoom a { color: var(--navy); background: #fff; }
.leaflet-container .leaflet-control-attribution a { color: #1455ad; }

@media (min-width: 760px) {
  .topbar { min-height: 92px; padding: 20px 32px; }
  .brand-mark { width: 46px; height: 46px; font-size: 31px; }
  .brand-name { font-size: 25px; }
  main { padding: 28px 32px calc(var(--nav-h) + env(safe-area-inset-bottom) + 32px); }
  .feed-page { padding-top: 24px; }
  .feed-toolbar { padding: 12px; gap: 10px; }
  .feed-filter-toggle { padding: 10px 16px; font-size: 14px; }
  .feed-kinds { max-width: 520px; margin: 16px 0 12px; }
  .feed-kinds button { font-size: 14px; }
  .list-grid { gap: 18px; }
  .listing-card .card-body { padding: 20px; }
  .card-title { font-size: 20px; }
  .listing-card .card-photo { width: 114px; height: 102px; }
  .card-price { font-size: 19px; }
  .page-head { padding: 26px; }
  .page-head h1 { font-size: 30px; }
  .bottom-nav { padding-left: clamp(12px, calc((100% - 520px) / 2), 300px); padding-right: clamp(12px, calc((100% - 520px) / 2), 300px); }
  .nav-item { font-size: 12px; }
  dialog { border-radius: 22px; }
  .sheet-top { padding: 20px 24px 16px; }
  #sheet-body { padding-left: 24px; padding-right: 24px; }
}

@media (max-width: 350px) {
  .topbar { padding: 15px 16px; min-height: 76px; }
  .brand-name { font-size: 21px; }
  main { padding-left: 12px; padding-right: 12px; }
  .feed-toolbar { padding: 7px; gap: 5px; }
  .feed-toolbar .location-button { font-size: 12px; gap: 4px; padding: 8px 6px; }
  .feed-filter-toggle { padding: 8px 6px; gap: 4px; font-size: 11px; }
  .feed-kinds button { font-size: 12px; }
  .listing-card .card-body { padding: 14px; }
  .listing-card .card-photo { width: 70px; height: 76px; }
  .card-title { font-size: 16px; }
  .page-head { padding: 20px 17px; }
  .page-head h1 { font-size: 23px; }
  .mine-tabs button { font-size: 11px; }
  .sheet-top { padding-left: 14px; padding-right: 14px; }
  #sheet-body { padding-left: 14px; padding-right: 14px; }
  .profile-create { padding: 14px; gap: 10px; }
}

.service-entry{display:flex;flex-direction:column;gap:12px;padding:16px;margin-bottom:16px;border:1px solid #e5cd77;border-radius:16px;background:#fff7d8;min-width:0}
.service-entry-copy{min-width:0}
.service-entry h2{font-size:18px;line-height:1.3;letter-spacing:-.25px;margin:0 0 6px;overflow-wrap:anywhere}
.service-entry p{font-size:13px;line-height:1.45;color:#665b39;margin:0;overflow-wrap:anywhere}
.service-entry>.primary{width:100%;min-width:0;justify-content:center;white-space:normal;text-align:center;font-size:14px;line-height:1.35;padding:12px;flex:none}
.service-entry>.primary svg{flex:none;width:20px;height:20px}
@media(min-width:760px){.service-entry{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin-bottom:20px}.service-entry-copy{max-width:620px}.service-entry>.primary{width:auto;max-width:300px;padding:13px 18px}.service-entry h2{font-size:20px}}
