/* Mbogi Nairobi: a little city you can reach out and touch. */
:root{--apricot-300:#f2b18a;--apricot-100:#fae3ca;--apricot-200:#f4cbaa;--accent-600:#b7472d;--accent-500:#c75c35;--accent-shadow:#782b1e;--clay-line:#dcc8b3;--bg:#faf5ec;--ink:#321f2a;--muted:#756258;--line:#e6d8c8;--sidebar:216px;--accent:#b83e24;--clay-paper:#fffcf5;--clay-shadow:#d9bda5}
body{background:var(--bg);color:var(--ink)}
h1,h2,h3,.brand,.card-title,.activity-summary strong{font-family:'Bricolage Grotesque','Manrope',sans-serif}
.topbar{height:70px;background:#fffcf5;border-bottom:1px solid #e8daca;padding:0 34px}
.topbar-subtitle{color:#87736b;font-size:11px}
.breadcrumb{font-size:12px}
.location-button{padding:7px 10px;border:1px solid #e4d5c4;border-radius:10px;background:#fcf6eb;box-shadow:0 2px 0 #ead9c5;color:#584339}
main{padding:27px 34px 0;max-width:1520px}
.sidebar{background:#321f2a;padding-top:31px;border-right:0}
.brand{font-size:36px;letter-spacing:-1.8px;text-shadow:0 3px 0 #140f17}
.brand-symbol{transform:rotate(-8deg);gap:4px}
.brand-symbol i{box-shadow:0 3px 0 #97573c,inset 1px 1px 2px #ffe8c68c}
.sidebar-caption{font-size:7px;letter-spacing:1.5px;color:#d5bcba;margin-top:15px}
.nav-label{margin-top:34px}
.nav-item{font-size:11px;border-radius:12px;border:1px solid transparent;height:44px}
.nav-item.active{border-color:#e2a577;box-shadow:0 3px 0 #a76043;color:#321f2a}
.primary-nav{gap:9px}
.start-card{border:1px solid #65414b;border-radius:18px;box-shadow:0 4px 0 #241620}
.start-card h3{font-size:15px}
.start-card p{font-size:11px}
.start-link{font-size:11px}
.profile{padding-top:16px;padding-bottom:16px}
.avatar{border:2px solid #fff1df;box-shadow:0 2px 0 #bda18b}
.profile .avatar{border-color:#dba280;box-shadow:0 3px 0 #170e17}
.primary-button{border:1px solid #9b321f;border-radius:12px;box-shadow:0 4px 0 var(--accent-shadow);min-height:41px;padding:11px 17px;font-size:11px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}
.primary-button:hover{background:#a83720;transform:translateY(-1px);box-shadow:0 5px 0 var(--accent-shadow)}
.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--accent-shadow)}
.primary-button:disabled{box-shadow:0 2px 0 #9c8a7c}
.secondary-button{border:1px solid #d5bea5;border-radius:11px;background:#fffcf5;box-shadow:0 3px 0 #dec8ad;color:#6b3d2f;font-size:11px}
.secondary-button:hover{background:#fff0d9;transform:translateY(-1px)}
button:focus-visible,a:focus-visible{outline:3px solid #8b4330;outline-offset:4px}
.nairobi-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}
.nairobi-heading .page-eyebrow{font-size:10px;letter-spacing:1px;font-weight:700;color:#897166;display:flex;align-items:center;gap:8px;margin-bottom:13px}
.heading-location{border-left:1px solid #d6c0aa;padding-left:12px;margin-left:4px;font-size:8px;color:#9a8376;letter-spacing:1.2px}
.nairobi-heading h1{font-size:clamp(30px,3.1vw,45px);font-weight:800;letter-spacing:-1.9px;line-height:1.03;margin:0 0 13px}
.nairobi-heading h1 em{font-style:normal;color:var(--accent-600)}
.nairobi-heading p{font-size:12px;line-height:1.7;color:#7c685b;margin:0}
.nairobi-heading>.primary-button{align-self:flex-end;margin-bottom:7px}
.city-how-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 21px;margin:25px 0 36px;border:1px solid #e5d4bf;border-radius:14px;background:#f4e8d6;box-shadow:0 3px 0 #e7d7c3;font-size:11px;color:#695146}
.city-how-label{font-size:8px;letter-spacing:1.4px;font-weight:700;color:#95725f;white-space:nowrap}
.city-how-strip b{display:inline-grid;place-items:center;font-size:9px;width:25px;height:25px;border-radius:8px;background:#fffcf5;border:1px solid #d7b999;box-shadow:0 2px 0 #d8bfa3;color:#9e492e;margin-right:6px}
.city-how-strip i{color:#ae8c70;font-size:16px;font-style:normal}
.city-how-strip>button{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#321f2a;color:#ffe5c3;box-shadow:0 2px 0 #140e14}
.city-how-strip>button svg{width:14px;height:14px}
.discover-heading{margin-bottom:21px}
.discover-heading h2{font-size:26px;letter-spacing:-.7px;margin-top:6px;line-height:1.15}
.discover-heading p{font-size:11px;line-height:1.6;color:#806c61;margin-top:8px}
.section-kicker{font-size:8px;letter-spacing:1.1px;color:#a17e62}
.category-tabs{gap:9px}
.category-tab{border:1px solid #dec7ac;border-radius:11px;font-size:11px;padding:10px 13px;background:#fffcf5;box-shadow:0 3px 0 #e3cfb7;color:#806451;min-height:38px}
.category-tab.active{background:var(--apricot-300);border-color:#d88d66;color:#56302b;box-shadow:0 3px 0 #bc7555}
.category-tab:hover{border-color:#b5815d}
.search-box{min-height:40px;border:1px solid #dfc9b0;border-radius:12px;background:#fffdf8;box-shadow:inset 0 2px 0 #f0e5d6;width:205px}
.search-box input{font-size:10px}
.filter-button{min-height:40px;border:1px solid #dfc9b0;border-radius:11px;background:#fffcf5;box-shadow:0 3px 0 #e0ccb4}
.selected-place{display:flex;align-items:center;gap:9px;margin:0 0 17px;color:#8e4a32;font-size:10px}
.selected-place:empty{display:none}
.selected-place>span{display:flex;align-items:center;gap:5px;border:1px solid #e0bc98;background:#f9dfc1;border-radius:7px;padding:6px 9px;font-weight:600}
.selected-place svg{width:12px;height:12px}
.selected-place>button{display:flex;align-items:center;gap:6px;font-size:9px;text-decoration:underline;text-underline-offset:3px;color:#8b786a}
.group-card{border:1px solid var(--clay-line);border-radius:20px;box-shadow:0 5px 0 #e3cfba;transform:none;transition:transform .18s,box-shadow .18s}
.group-card:hover{transform:translateY(-4px);box-shadow:0 9px 0 #e3cfba,0 15px 20px #4c2d2010}
.card-image-wrap{border-bottom:1px solid #d6bca7;height:180px}
.card-content{padding:19px}
.card-title{font-size:17px;letter-spacing:-.45px;font-weight:800}
.card-description{font-size:11px}
.card-location{font-size:10px;color:#8b7666}
.card-badge{border-radius:8px;padding:6px 9px;font-size:9px;border:1px solid #fff8;box-shadow:0 3px 0 #412c241c}
.save-button{box-shadow:0 3px 0 #321f2a30;border:1px solid #dbc7ae}
.card-price{font-size:16px}
.card-price small{font-size:9px;color:#8a786a}
.card-bottom .join-button{font-size:10px;border-radius:9px;padding:9px 11px;box-shadow:0 3px 0 #d5a684;background:var(--apricot-100)}
.card-meta .member-number,.card-time{font-size:9px}
.funding-labels strong{font-size:12px}
.funding-labels,.funding-labels strong span{font-size:9px}
.progress-track{height:7px;background:#eedfc9;border:1px solid #e1cdb3}
.progress-fill{background:var(--accent-500);box-shadow:inset 0 1px 0 #ec9d6b}
.empty-state{border:1px dashed #d9bda1;background:#fffbf1;border-radius:19px;box-shadow:0 4px 0 #eee0cd;padding:32px 25px}
.city-empty{display:flex;align-items:center;gap:21px;text-align:left}
.city-empty>div{flex:1}
.city-empty h3{font-size:21px;margin:7px 0 9px;letter-spacing:-.4px}
.city-empty p{font-size:11px;line-height:1.7;margin:0;max-width:520px}
.empty-clay-icon{width:67px;height:67px;display:grid;place-items:center;flex-shrink:0;border:2px solid #eab28b;border-radius:21px;background:#f3bc91;box-shadow:0 5px 0 #c48a65,inset 0 3px 0 #ffe4c3;transform:rotate(-7deg);color:#774032}
.empty-clay-icon svg{width:30px;height:30px;stroke-width:1.8}
.city-empty .primary-button{margin:0}
.community-banner{margin-top:35px;background:#f1dfc8;border:1px solid #ddbf9e;border-radius:19px;box-shadow:0 4px 0 #ddc2a3;padding:24px;gap:17px}
.community-banner h3{font-size:21px;letter-spacing:-.5px;margin-top:5px}
.community-banner p{font-size:11px;line-height:1.7;color:#7b6351}
.community-banner-icon{width:52px;height:52px;border-radius:17px;flex-shrink:0;display:grid;background:#fff1d8;border:1px solid #d4b48a;box-shadow:0 4px 0 #cfac7c;transform:rotate(-5deg)}
.community-banner-icon svg{width:25px;height:25px;color:#91603c}
.community-banner .secondary-button{margin-left:auto;white-space:nowrap}
.city-account-note{display:flex;align-items:center;justify-content:center;gap:7px;color:#96806d;margin-top:25px;font-size:9px;line-height:1.7}
.city-account-note svg{width:13px;height:13px;flex-shrink:0}
.app-footer{font-size:8px;color:#9b8371;padding:23px 34px}
.modal{border-radius:23px;border:2px solid #ecd4b6;box-shadow:0 12px 0 #24162045,0 25px 90px #21101945}
.modal h2{font-size:29px;letter-spacing:-1px}
.agreement,.modal-stats>div{border-radius:13px}
.form-field input,.form-field select,.form-field textarea,.chat-compose input{border-radius:10px;background:#fffdf7;border:1px solid #dcc4a8;box-shadow:inset 0 2px 0 #f2e4d1}
.chat-layout{border:1px solid #dfc9b0;border-radius:20px;box-shadow:0 5px 0 #e6d1b9}
.chat-list-item{border-radius:12px}
.message-body{box-shadow:0 3px 0 #e6d6c2;background:#f5ead9;border:1px solid #e8d9c2}
.message.self .message-body{background:var(--apricot-200);box-shadow:0 3px 0 #d7a786;border-color:#e1b28c}
.customer-listing{border:1px solid #ddc7ad;border-radius:18px;box-shadow:0 4px 0 #e3cbb0}
.customer-listing h3{font-size:18px}
body[data-page='admin'] .primary-button{box-shadow:0 2px 0 var(--accent-shadow)}
body[data-page='admin'] .admin-tabs button{font-size:11px}
@media(min-width:1600px){.nairobi-heading h1{font-size:47px}.nairobi-heading p{font-size:14px}.city-how-strip{font-size:12px}.category-tab{font-size:12px}}
@media(max-width:1230px){.nairobi-heading h1{font-size:35px}.topbar{padding:0 25px}main{padding:26px 25px 0}.city-how-strip{gap:9px;padding:16px}.city-how-label{display:none}.city-empty{gap:17px;flex-wrap:wrap}.city-empty .primary-button{margin-left:84px}.discovery-controls{align-items:stretch}.search-wrap{width:100%}.search-box{width:auto}.app-footer{padding-left:25px;padding-right:25px}}
@media(max-width:1000px){.nairobi-heading h1{font-size:32px}.nairobi-heading{gap:15px}.nairobi-heading p{font-size:11px;max-width:300px}.nairobi-heading>.primary-button{font-size:10px;padding:10px 12px}.heading-location{display:none}.city-how-strip>i{display:none}.city-how-strip{font-size:10px}.community-banner h3{font-size:18px}.community-banner .secondary-button{font-size:10px;padding:10px}.card-title{font-size:16px}}
@media(max-width:740px){:root{--sidebar:0px}.sidebar{width:216px}.topbar{padding:0 18px;height:64px}main{padding:24px 18px 0}.nairobi-heading{align-items:flex-start;margin-bottom:24px;gap:13px}.nairobi-heading h1{font-size:34px;letter-spacing:-1.45px;line-height:1.04}.nairobi-heading p{font-size:11px;max-width:340px}.nairobi-heading>.primary-button{align-self:flex-end;margin-bottom:2px;font-size:10px;padding:10px 12px;min-height:37px;white-space:nowrap}.nairobi-heading .page-eyebrow{font-size:8px;letter-spacing:.6px;margin-bottom:13px;gap:5px}.city-how-strip{padding:14px 11px;margin-top:21px;margin-bottom:31px;gap:7px;font-size:9px}.city-how-strip b{width:22px;height:22px;font-size:8px;border-radius:7px;margin-right:3px}.city-how-strip>button{display:none}.discover-heading h2{font-size:24px}.discover-heading p{font-size:10px}.category-tabs{gap:7px}.category-tab{font-size:10px;padding:10px 12px}.card-image-wrap{height:160px}.card-content{padding:15px}.card-title{font-size:15px}.card-description{font-size:10px}.card-price{font-size:14px}.card-bottom .join-button{font-size:9px;padding:8px}.funding-labels strong{font-size:10px}.funding-labels,.funding-labels strong span{font-size:8px}.card-time,.card-meta .member-number{font-size:8px}.city-empty{padding:25px 20px;gap:17px}.city-empty h3{font-size:21px;line-height:1.2}.city-empty p{font-size:11px}.empty-clay-icon{width:53px;height:53px;border-radius:16px}.empty-clay-icon svg{width:24px;height:24px}.city-empty .primary-button{margin-left:70px;min-height:37px;font-size:10px}.community-banner{padding:21px;flex-wrap:wrap;gap:14px}.community-banner-icon{display:grid;width:43px;height:43px;border-radius:13px}.community-banner>div{flex:1;min-width:220px}.community-banner .secondary-button{margin-left:57px;padding:10px 13px;font-size:10px}.city-account-note{align-items:flex-start;font-size:8px;text-align:left;justify-content:flex-start;padding:0 5px}.app-footer{padding:21px 18px}.topbar .location-button{font-size:9px;padding:6px 9px}.page-title-row h1{font-size:27px;line-height:1.1}.page-title-row p{font-size:11px}.chat-preview-note{font-size:9px}}
@media(max-width:500px){.nairobi-heading{display:block}.nairobi-heading h1{font-size:37px}.nairobi-heading>.primary-button{margin-top:17px;padding:10px 14px}.nairobi-heading p{font-size:11px;max-width:340px}.city-how-strip{font-size:8px;gap:4px}.city-how-strip b{width:20px;height:20px;font-size:7px;margin-right:2px}.city-empty>div{min-width:200px}.city-empty .primary-button{margin-left:0}.community-banner>div{min-width:200px}.section-kicker{font-size:7px}}
@media(prefers-reduced-motion:reduce){.primary-button,.secondary-button,.group-card{transition:none}.primary-button:hover,.secondary-button:hover,.group-card:hover{transform:none}}

/* P0: funding availability and payment truth. */
.funding-labels:has(.funding-pending-chip){flex-wrap:wrap;gap:8px}
.funding-pending-chip{background:var(--bg);color:var(--ink);border:1px solid var(--clay-line);border-radius:5px;padding:4px 7px;line-height:1.5;max-width:100%}
.progress-track.progress-track--unconfigured{background:transparent;border:1px dashed var(--clay-line)}
.progress-track--unconfigured .progress-fill{display:none}
.payment-status--waiting{background:var(--apricot-100);color:var(--ink)}
.payment-status--review,.payment-status--incomplete{background:var(--bg);color:var(--ink);border:1px solid var(--clay-line)}
.payment-status--verified{background:var(--ink);color:var(--bg)}
.payment-review-note{font-size:11px;line-height:1.7;max-width:260px}

/* P0: free membership and verified money are distinct. */
.detail-stat-block{margin:24px 0 16px}
.detail-stat-kicker{font-size:10px;letter-spacing:1px;color:var(--ink);margin:0 0 12px}
.detail-stat-block .modal-stats{margin:0 0 16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.detail-stat-block .membership-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-stat-block .modal-stats strong{overflow-wrap:anywhere}
.agreement .sharing-terms{white-space:pre-line}

/* P1: one chip geometry, with neutral, info and status tones. */
.city-app.city-app :is(.card-badge,.pill,.privacy-chip,.spots-badge,.funding-pending-chip){display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 8px;border:1px solid var(--clay-line);border-radius:8px;font-size:10px;line-height:1.5;font-weight:600;background:var(--bg);color:var(--ink);box-shadow:none}
.city-app :is(.card-badge,.privacy-chip,.payment-status--waiting){background:var(--apricot-100)}
.city-app :is(.spots-badge,.payment-status--review,.payment-status--incomplete,.payment-status--verified){background:var(--bg);color:var(--ink)}
/* Keep the floor here, including specificity for the later city-shell sheet. */
.city-app :is(.sidebar-caption,.heading-location,.city-how-label,.city-how-strip b,.section-kicker,.card-price small,.card-meta .member-number,.card-time,.funding-labels,.funding-labels strong span,.city-account-note,.app-footer,.app-footer>button,.selected-place>button,.page-eyebrow,.chat-preview-note,.chat-sidebar h3,.chat-room-header small,.chat-list-item small,.workspace-toolbar>span,.profile-copy small,.nav-count,.city-welcome-tag,.city-district-dock button,.city-results-tools .text-button){font-size:10px}
.city-app :is(.card-description,.city-empty p,.intro-strip,.city-panel-foot,.city-panel-heading p,.city-place-card p,.guest-browser-note p,.city-welcome-copy,.city-how-strip,.chat-list-item strong,.chat-compose input,.search-box input){font-size:11px}
.city-app :is(.primary-button,.secondary-button,.join-button):disabled{opacity:1;background:var(--bg);color:var(--ink);border-color:var(--clay-line);cursor:not-allowed}
.city-app .city-empty>div{min-width:0}
.city-app .city-empty{overflow-wrap:anywhere}

.city-app .city-panel-foot.intro-strip{border:1px solid var(--clay-line);background:var(--apricot-100);color:var(--ink);border-radius:12px;padding:12px;margin-top:24px;align-items:flex-start}
.city-app .city-panel-foot svg{flex-shrink:0}
.city-app .city-empty .empty-start-note{margin-top:12px}
.city-app .funding-pending-chip{white-space:normal}
