:root{--nav:#142137;--nav2:#1b2a43;--accent:#0865f5;--blue:#0865f5;--ink:#263642;--muted:#71808b;--line:#e6ebee;--bg:#f5f6f8;--white:#fff;--warning:#d38a28}
:root{--icon-sm:16px;--icon-md:20px;--icon-lg:24px}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:8px;--radius-md:12px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--text-14) Inter,Arial,sans-serif}
.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}
.sidebar{background:var(--nav);color:#d6dbe4;padding:22px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#f9fbfd;font:700 var(--text-12) Manrope;letter-spacing:.08em;line-height:1.2;padding:0 8px}
.brand b{font-size:var(--text-16)}
.brand-mark{background:#496ba2;color:#fff;border-radius:6px;width:30px;height:30px;display:grid;place-items:center;font:700 var(--text-20) Manrope}
.workspace{margin:28px 5px 20px;background:var(--nav2);padding:10px;border-radius:5px;display:flex;gap:8px;align-items:center;font-size:var(--text-12)}
.workspace span:last-child{margin-left:auto}
.workspace-dot,.sync-status>span{width:7px;height:7px;border-radius:50%;background:#557ec1;display:inline-block}
.nav-label{font-size:var(--text-12);letter-spacing:.12em;color:#738ab0;margin:20px 11px 7px}
.nav-item{width:100%;border:0;background:transparent;color:#cad1dc;text-align:left;padding:10px 11px;border-radius:5px;font:600 var(--text-12) Inter;cursor:pointer;display:flex;align-items:center;gap:9px}
.nav-item:hover,.nav-item.active{background:#243755;color:#fff}
.nav-icon{color:#8ea1c0;font-size:var(--text-16);width:14px}
.nav-item b{font-size:var(--text-12);background:#3c5070;border-radius:9px;padding:2px 6px;margin-left:auto}
.sync-status{margin-top:auto;border-top:1px solid #34445d;padding:16px 7px 0;display:flex;gap:9px;align-items:flex-start}
.sync-status>span{margin-top:3px}
.sync-status b,.sync-status small{display:block;font-size:var(--text-12)}
.sync-status small{color:#7f94b7;margin-top:4px}
.main{min-width:0}
.topbar{height:63px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 30px}
.crumb{color:#81909a;font-size:var(--text-12)}
.top-actions{display:flex;gap:10px;align-items:center}
.search{background:#f5f6f8;border:1px solid #edeff3;border-radius:5px;padding:8px 10px;color:#81909a;display:flex;gap:7px}
.search input{border:0;outline:0;background:transparent;width:190px;font:var(--text-12) Inter}
.icon-button,.user{border:0;background:transparent;cursor:pointer}
.icon-button{font-size:var(--text-20);color:#5b6d76}
.user{width:30px;height:30px;border-radius:50%;background:#e5eaf1;color:#264475;font:bold var(--text-12) Manrope;transition:background .16s,transform .16s}.user:hover{background:#d5ddea;transform:translateY(-1px)}.user:focus-visible{outline:2px solid #254982;outline-offset:2px}
.page{padding:29px 30px 55px;max-width:1540px}
/* Public pages share one centred content rail. Admin registries intentionally
   use their own full-width working rail below. */
body:not(.admin-mode) .page.market-page{box-sizing:border-box;width:100%;margin-left:auto;margin-right:auto}
.page-skeleton{min-height:calc(100vh - 62px);animation:skeleton-enter .18s ease-out}.skeleton-line,.skeleton-hero,.skeleton-metrics>div,.skeleton-cards>div{background:linear-gradient(100deg,#e7eaef 32%,#f6f8fa 50%,#e7eaef 68%);background-size:220% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:7px}.skeleton-title{height:30px;width:min(310px,55%)}.skeleton-subtitle{height:13px;width:min(470px,78%);margin-top:12px}.skeleton-hero{height:208px;margin-top:26px;padding:34px;display:flex;flex-direction:column;gap:15px}.skeleton-hero .skeleton-line{background:#ffffff28;animation:none}.skeleton-kicker{height:12px;width:145px}.skeleton-heading{height:38px;width:min(470px,75%)}.skeleton-copy{height:13px;width:min(610px,88%)}.skeleton-copy.short{width:min(390px,60%)}.skeleton-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.skeleton-metrics>div{height:88px}.skeleton-list{margin-top:29px}.skeleton-section-title{height:23px;width:210px}.skeleton-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:15px}.skeleton-cards>div{height:205px}.skeleton-inline-list{min-height:678px}@keyframes skeleton-shimmer{to{background-position:-220% 0}}@keyframes skeleton-enter{from{opacity:.45}to{opacity:1}}
/* Loading previews follow the same column changes as the real public cards. */
@media(max-width:860px){.skeleton-metrics,.skeleton-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.page-skeleton{min-height:calc(100vh - 58px);padding-top:20px}.skeleton-title{height:26px;width:min(260px,76%)}.skeleton-subtitle{width:90%;margin-top:9px}.skeleton-hero{height:172px;margin-top:20px;padding:24px 18px;gap:12px}.skeleton-heading{height:31px;width:88%}.skeleton-copy{width:100%}.skeleton-copy.short{width:72%}.skeleton-metrics,.skeleton-cards{grid-template-columns:1fr;gap:12px}.skeleton-metrics{margin-top:14px}.skeleton-metrics>div{height:70px}.skeleton-list{margin-top:23px}.skeleton-section-title{width:170px;height:20px}.skeleton-cards{margin-top:12px}.skeleton-cards>div{height:190px}.skeleton-inline-list{min-height:1314px}}
/* Route-aware shells prevent the loading state from jumping to a different
   page structure after the catalogue data arrives. */
.page-skeleton-catalog{max-width:1080px;background:#f4f6f8}.skeleton-catalog-tools{display:grid;grid-template-columns:1fr 180px 180px;gap:10px;margin-top:24px}.skeleton-catalog-tools i,.skeleton-catalog-list>div,.skeleton-detail-photo,.skeleton-detail-facts i,.skeleton-detail-action,.skeleton-map-sidebar,.skeleton-map-canvas,.skeleton-analytics>div,.skeleton-news-feature,.skeleton-cabinet-hero,.skeleton-admin-toolbar,.skeleton-admin-table{display:block;border-radius:10px;background:linear-gradient(100deg,#e7eaef 32%,#f6f8fa 50%,#e7eaef 68%);background-size:220% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton-catalog-tools i{height:42px}.skeleton-catalog-list{display:grid;gap:12px;margin-top:18px}.skeleton-catalog-list>div{height:218px}.skeleton-detail{display:grid;grid-template-columns:minmax(360px,.9fr) 1.1fr;gap:28px;margin-top:22px}.skeleton-detail-photo{min-height:430px}.skeleton-detail-copy{display:flex;flex-direction:column;justify-content:center;gap:14px}.skeleton-detail-copy .skeleton-copy{margin:0}.skeleton-detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:8px}.skeleton-detail-facts i{height:72px}.skeleton-detail-action{width:150px;height:38px;margin-top:7px}.skeleton-map-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;margin-top:22px}.skeleton-map-sidebar{display:grid;align-content:start;gap:9px;height:680px;padding:16px}.skeleton-map-sidebar i{height:42px;border-radius:7px;background:#ffffff82}.skeleton-map-canvas{height:680px}.skeleton-analytics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.skeleton-analytics>div{height:300px}.skeleton-news-feature{height:300px;margin-top:22px}.skeleton-cabinet-hero{height:190px;margin:22px 0}.skeleton-admin-toolbar{height:44px;margin-top:22px}.skeleton-admin-table{display:grid;grid-template-rows:repeat(6,48px);gap:1px;margin-top:14px;padding:0 14px}.skeleton-admin-table i{display:block;border-bottom:1px solid #dce1e8;background:#ffffff82}
@media(max-width:860px){.skeleton-detail{grid-template-columns:1fr}.skeleton-detail-photo{min-height:320px}.skeleton-map-layout{grid-template-columns:1fr}.skeleton-map-sidebar{height:170px}.skeleton-map-canvas{height:500px}}
@media(max-width:560px){.page-skeleton-catalog{padding-left:14px;padding-right:14px}.skeleton-catalog-tools{grid-template-columns:1fr;gap:8px;margin-top:18px}.skeleton-catalog-tools i{height:38px}.skeleton-catalog-list{gap:12px;margin-top:14px}.skeleton-catalog-list>div{height:430px}.skeleton-detail{gap:18px;margin-top:16px}.skeleton-detail-photo{min-height:235px}.skeleton-detail-copy{gap:11px}.skeleton-detail-facts{grid-template-columns:repeat(2,1fr)}.skeleton-detail-facts i{height:58px}.skeleton-map-layout{margin-top:16px}.skeleton-map-sidebar{height:140px;padding:12px}.skeleton-map-canvas{height:390px}.skeleton-analytics{grid-template-columns:1fr;gap:12px;margin-top:14px}.skeleton-analytics>div{height:210px}.skeleton-news-feature{height:210px;margin-top:16px}.skeleton-cabinet-hero{height:150px;margin:16px 0}.skeleton-admin-toolbar{height:40px;margin-top:16px}.skeleton-admin-table{grid-template-rows:repeat(6,42px);margin-top:12px;padding:0 10px}}

/* Public loading states preserve the geometry of the page that replaces them. */
.page-skeleton{width:100%;max-width:1280px;background:var(--surface,#fff)}
.skeleton-shape,.page-skeleton .skeleton-tab-row i,.page-skeleton .skeleton-fact-grid>i,.page-skeleton .skeleton-home-shortcuts>i,.page-skeleton .skeleton-detail-rows>i,.page-skeleton .skeleton-price-pair>i,.page-skeleton .skeleton-role-grid>article,.page-skeleton .skeleton-map-sidebar>i{display:block;background:linear-gradient(100deg,#e7eaef 32%,#f6f8fa 50%,#e7eaef 68%);background-size:220% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-md,7px)}
.page-skeleton .skeleton-line{height:12px;margin:0}.page-skeleton .skeleton-line.wide{width:100%}.page-skeleton .skeleton-line.medium{width:72%}.page-skeleton .skeleton-line.short{width:42%}.page-skeleton .skeleton-title{width:min(420px,58%);height:32px}.page-skeleton .skeleton-subtitle{width:min(600px,78%);height:14px}.skeleton-heading-block{display:grid;gap:var(--space-12,12px)}.page-skeleton .skeleton-breadcrumb{width:240px;height:12px;margin-bottom:var(--space-24,24px)}.page-skeleton .skeleton-heading{width:min(520px,92%);height:32px}.page-skeleton .skeleton-kicker{width:128px}.page-skeleton .skeleton-section-title{width:240px;height:24px}
.skeleton-filter-row{display:grid;grid-template-columns:minmax(240px,1fr) repeat(3,minmax(140px,200px));gap:var(--space-8,8px);margin-top:var(--space-24,24px)}.skeleton-filter-row>i{height:48px}.skeleton-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;margin:var(--space-24,24px) 0 var(--space-16,16px)}.skeleton-catalog-toolbar>.skeleton-line{width:210px}.skeleton-catalog-toolbar>span{display:flex;gap:var(--space-8,8px)}.skeleton-catalog-toolbar>span i{display:block;width:40px;height:40px;border-radius:var(--radius-md,7px);background:#e7eaef}
.skeleton-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-24,24px)}.skeleton-project-card,.skeleton-apartment-card,.skeleton-directory-card{overflow:hidden;border:1px solid var(--line,#dce1e8);border-radius:var(--radius-md,7px);background:var(--surface,#fff)}.skeleton-card-media{aspect-ratio:16/9;border-radius:0!important}.skeleton-card-body{display:grid;gap:var(--space-12,12px);padding:var(--space-16,16px)}.skeleton-apartment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-24,24px)}.skeleton-apartment-card{display:grid;grid-template-columns:36% minmax(0,1fr);min-height:156px}.skeleton-apartment-card .skeleton-card-media{height:100%;aspect-ratio:auto}.skeleton-directory-card{display:grid;grid-template-columns:42% minmax(0,1fr)}.skeleton-directory-card .skeleton-card-media{height:100%;min-height:210px;aspect-ratio:auto}
.skeleton-project-hero,.skeleton-apartment-hero,.skeleton-developer-hero{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr);gap:var(--space-24,24px);align-items:stretch}.skeleton-project-gallery{min-height:430px}.skeleton-project-summary,.skeleton-apartment-summary,.skeleton-developer-summary{display:flex;flex-direction:column;justify-content:center;gap:var(--space-16,16px)}.skeleton-primary-action{width:100%;height:48px}.skeleton-tab-row{display:flex;gap:var(--space-24,24px);padding:var(--space-24,24px) 0 var(--space-16,16px);border-bottom:1px solid var(--line,#dce1e8)}.skeleton-tab-row i{width:96px;height:12px}.skeleton-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-24,24px);border:1px solid var(--line,#dce1e8);border-radius:var(--radius-md,7px);overflow:hidden}.skeleton-fact-grid>i{height:84px;border-radius:0!important;border-right:1px solid var(--line,#dce1e8)}.skeleton-fact-grid>i:last-child{border-right:0}.skeleton-fact-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.skeleton-fact-grid.compact>i{height:64px;border-bottom:1px solid var(--line,#dce1e8)}
.skeleton-two-column-section{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-32,32px);margin-top:var(--space-48,48px)}.skeleton-two-column-section>div:first-child,.skeleton-content-section,.skeleton-article-copy{display:grid;align-content:start;gap:var(--space-16,16px)}.skeleton-side-media{min-height:280px}.skeleton-content-section,.skeleton-plan-section{margin-top:var(--space-48,48px)}.skeleton-content-section .skeleton-filter-row{margin-top:0}.skeleton-apartment-media{min-height:520px}.skeleton-price-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12,12px)}.skeleton-price-pair>i{height:72px}.skeleton-detail-rows{display:grid;gap:1px;margin-top:var(--space-16,16px);background:var(--line,#dce1e8)}.skeleton-detail-rows>i{height:56px;border-radius:0!important}.skeleton-plan-section>.skeleton-shape{width:min(620px,100%);height:520px;margin-top:var(--space-16,16px)}
.skeleton-developer-hero{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr)}.skeleton-developer-photo{min-height:390px}.skeleton-article-head{display:grid;gap:var(--space-16,16px);max-width:820px}.skeleton-article-media{height:520px;margin-top:var(--space-32,32px)}.skeleton-article-copy{max-width:820px;margin:var(--space-32,32px) auto}.skeleton-guide-rows{margin-top:var(--space-32,32px)}.skeleton-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-24,24px);margin-top:var(--space-32,32px)}.skeleton-role-grid>article{display:grid;gap:var(--space-16,16px);min-height:230px;padding:var(--space-24,24px);border:1px solid var(--line,#dce1e8);background:var(--surface,#fff);animation:none}
.skeleton-home-hero{min-height:390px;padding:var(--space-48,48px);display:grid;align-items:end;background:linear-gradient(100deg,#e7eaef 32%,#f6f8fa 50%,#e7eaef 68%);background-size:220% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--radius-md,7px)}.skeleton-home-hero>div{display:grid;gap:var(--space-16,16px);max-width:720px}.skeleton-home-search{height:64px}.skeleton-home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-12,12px);margin-top:var(--space-16,16px)}.skeleton-home-shortcuts>i{height:88px}.skeleton-home-map{display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:var(--space-24,24px);margin-top:var(--space-48,48px)}.skeleton-home-map>.skeleton-shape{min-height:360px}
@media(max-width:860px){.skeleton-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-project-hero,.skeleton-apartment-hero,.skeleton-developer-hero{grid-template-columns:1fr}.skeleton-project-gallery,.skeleton-apartment-media,.skeleton-developer-photo{min-height:360px}.skeleton-home-map{grid-template-columns:1fr}.skeleton-home-map>.skeleton-shape{min-height:320px}}
@media(max-width:560px){.page-skeleton{padding:var(--space-24,24px) var(--space-16,16px) var(--space-32,32px)}.page-skeleton .skeleton-title{width:78%;height:28px}.page-skeleton .skeleton-subtitle{width:92%}.skeleton-filter-row{grid-template-columns:1fr;margin-top:var(--space-16,16px)}.skeleton-filter-row>i:not(:first-child){display:none}.skeleton-catalog-toolbar>span i:not(:first-child){display:none}.skeleton-card-grid,.skeleton-apartment-grid,.skeleton-role-grid{grid-template-columns:1fr;gap:var(--space-16,16px)}.skeleton-project-card:nth-child(n+4),.skeleton-apartment-card:nth-child(n+5),.skeleton-directory-card:nth-child(n+4){display:none}.skeleton-apartment-card,.skeleton-directory-card{grid-template-columns:34% minmax(0,1fr);min-height:132px}.skeleton-directory-card .skeleton-card-media{min-height:132px}.skeleton-project-gallery,.skeleton-apartment-media,.skeleton-developer-photo{min-height:260px}.skeleton-project-summary,.skeleton-apartment-summary,.skeleton-developer-summary{padding-top:var(--space-8,8px)}.skeleton-tab-row{overflow:hidden;gap:var(--space-16,16px)}.skeleton-tab-row i{min-width:84px}.skeleton-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-16,16px)}.skeleton-fact-grid>i{height:68px;border-bottom:1px solid var(--line,#dce1e8)}.skeleton-two-column-section{grid-template-columns:1fr;gap:var(--space-16,16px);margin-top:var(--space-32,32px)}.skeleton-side-media{min-height:220px}.skeleton-content-section,.skeleton-plan-section{margin-top:var(--space-32,32px)}.skeleton-plan-section>.skeleton-shape{height:360px}.skeleton-home-hero{min-height:300px;padding:var(--space-24,24px) var(--space-16,16px)}.skeleton-home-search{height:52px}.skeleton-home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8,8px)}.skeleton-home-shortcuts>i{height:72px}.skeleton-home-map{margin-top:var(--space-32,32px)}.skeleton-article-media{height:280px;margin-top:var(--space-24,24px)}}
@media(prefers-reduced-motion:reduce){.skeleton-shape,.page-skeleton [class*="skeleton-"]{animation:none!important}}
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.page-head h1{font:700 var(--text-24) Manrope;margin:0;letter-spacing:-.04em}
.page-head p{margin:7px 0 0;color:var(--muted);font-size:var(--text-12)}
.primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-md);background:var(--blue);border:1px solid var(--blue);color:#fff;border-radius:7px;padding:8px 13px;font:600 var(--text-12) Inter,Arial,sans-serif;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}
.primary:hover{background:#1d5fa8;border-color:#1d5fa8;box-shadow:0 3px 8px #286ebd2b}.primary:active{transform:translateY(1px)}.primary:focus-visible,.secondary:focus-visible{outline:2px solid #6aa9eb;outline-offset:2px}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-md);border:1px solid #c9d1de;border-radius:7px;background:#fff;color:#314462;padding:8px 13px;font:600 var(--text-12) Inter,Arial,sans-serif;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.secondary:hover{border-color:#899cbc;background:#edf1f7;color:#17376b;box-shadow:0 2px 6px #17294612}.secondary:active{transform:translateY(1px)}
.primary.secondary{background:#edf0f4;color:#3e516f;border:1px solid #dbe0e7}
.project-editor-delete{border-color:#e8c6c3;color:#a9463f;background:#fffafa}.project-editor-delete:hover{border-color:#d9918b;background:#fff2f1;color:#933b35}
.map-canvas{height:620px;border-radius:6px;overflow:hidden}.map-status{padding:13px 18px;color:var(--muted);font-size:var(--text-12)}
.market-map-page{max-width:1280px}.market-map-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px}.market-map-page .market-map{height:680px;border:1px solid #d7dce5;border-radius:12px}.market-map-sidebar{height:680px;overflow:auto;border:1px solid #d7dce5;border-radius:12px;background:#fff;padding:16px;color:#4b6286;font:var(--text-12)/1.45 Inter}.market-map-sidebar h2{margin:0;color:#243550;font:700 var(--text-16) Manrope}.market-map-sidebar>p{margin:8px 0}.market-map-sidebar-head{display:flex;justify-content:space-between;gap:10px;align-items:start;padding-bottom:12px;border-bottom:1px solid #e2e6ec}.market-map-sidebar-head .eyebrow{margin:0 0 3px;font-size:var(--text-12)}.market-map-sidebar-head b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:99px;background:#e7ecf3;color:#17376b;font:700 var(--text-14) Inter}.market-map-project-list{display:grid;gap:7px;margin-top:11px}.market-map-project{display:grid;gap:3px;width:100%;padding:10px;border:1px solid #dce1e8;border-radius:8px;background:#fff;color:#34445d;text-align:left;cursor:pointer}.market-map-project:hover{border-color:#738db7;background:#f4f6fa}.market-map-project b{color:#21314c;font:700 var(--text-12) Inter}.market-map-project span{color:#284778;font-size:var(--text-12)}.market-map-project small{color:#71838a;font-size:var(--text-12)}.market-map-legend{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:0 0 10px;color:#4b6286;font:600 var(--text-12) Inter}.market-map-legend span{display:flex;align-items:center;gap:6px}.market-map-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}.market-map-legend .zone{background:#728ab0;border:1px solid #4c6387;opacity:.75}.market-map-legend .pin{border-radius:50%;background:#08347b;border:2px solid #fff;box-shadow:0 0 0 1px #08347b}.maplibregl-popup-content{padding:12px;border-radius:9px;font-family:Inter,sans-serif;box-shadow:0 7px 22px #1729462b}.district-popup{display:grid;gap:6px;min-width:165px;color:#35445d;font-size:var(--text-12);line-height:1.35}.district-popup b{color:#1f2f48;font:700 var(--text-14) Manrope}.district-popup small{color:#75858b}.district-popup .primary{justify-self:start;padding:8px 10px;font-size:var(--text-12)}.district-popup .primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:860px){.market-map-layout{grid-template-columns:1fr}.market-map-sidebar{height:auto;max-height:260px}.market-map-page .market-map{height:560px}}
.market-map-page .page-head p,.market-map-page .market-map-legend,.market-map-page>.map-status{display:none}.market-map-page .page-head{margin-bottom:14px}@media(max-width:600px){.market-map-layout{gap:12px}.market-map-page .market-map{order:-1;height:360px}.market-map-sidebar{height:auto;max-height:none;overflow:visible;scrollbar-width:none;border:0;border-radius:0;background:transparent;padding:0}.market-map-sidebar::-webkit-scrollbar{display:none}.market-map-sidebar-head{padding-bottom:12px}.market-map-project-list{margin-top:12px}}
.market-map-project{grid-template-columns:60px minmax(0,1fr);gap:9px;padding:8px}.market-map-project>img{width:60px;height:60px;border-radius:6px;object-fit:cover;background:#edeff3}.market-map-project-copy{display:grid;gap:2px;min-width:0}.market-map-project-copy em{margin-top:2px;color:#72858a;font:var(--text-12)/1.3 Inter;font-style:normal}
.market-district-pill{border:1px solid #8b9ebd;border-radius:99px;background:#e7ecf3;color:#17376b;padding:3px 8px;font:700 var(--text-12) Inter;cursor:pointer}
.market-hero{padding:42px;background:linear-gradient(120deg,#152642,#24457a);color:#fff;border-radius:9px;display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}.market-hero h1{font:700 var(--text-32) Manrope;margin:0;letter-spacing:-.05em}.market-hero p{font-size:var(--text-14);line-height:1.6;color:#d8e0ed;margin:12px 0 20px}.market-hero .market-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.market-stat{padding:14px;border:1px solid #ffffff38;border-radius:6px;background:#ffffff12}.market-stat b{font:700 var(--text-24) Manrope;display:block}.market-stat small{color:#c2ccdc}.market-actions{display:flex;gap:9px;flex-wrap:wrap}.market-actions .primary{background:#fff;color:#1b3662}.market-actions .secondary{background:transparent;border-color:#8fa5c9;color:#fff}.market-section{margin-top:28px}.market-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:13px}.market-section-head h2{font:700 var(--text-20) Manrope;margin:0}.market-section-head button{border:0;background:transparent;color:var(--blue);cursor:pointer;font:600 var(--text-12) Inter}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.market-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}.market-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #17294614}.market-card img{width:100%;height:152px;object-fit:cover;background:#e8ebef}.market-card-body{padding:13px}.market-card h3{font:700 var(--text-16) Manrope;margin:0 0 7px;color:#1f2c40}.market-card p{margin:4px 0;color:var(--muted);font-size:var(--text-12)}.market-card .price{color:#244477;font:700 var(--text-16) Manrope;margin-top:12px}.market-chip{display:inline-block;background:#e8ecf3;color:#274371;border-radius:999px;padding:4px 7px;font-size:var(--text-12);margin-right:5px}.market-toolbar{background:#fff;border:1px solid var(--line);padding:12px;border-radius:7px;display:flex;gap:9px;margin:16px 0}.market-toolbar input,.market-toolbar select{border:1px solid #dce1e8;border-radius:5px;padding:9px;font:var(--text-12) Inter;min-width:180px}.market-empty{padding:26px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:7px}.market-detail{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:24px}.market-detail img{width:100%;height:290px;object-fit:cover;border-radius:7px;background:#e8ebef}.market-detail h1{font:700 var(--text-32) Manrope;margin:6px 0}.market-detail p{color:var(--muted);line-height:1.5}.market-price{font:700 var(--text-24) Manrope;color:#224174;margin:18px 0}.market-note{background:#f1f3f7;border-left:3px solid #426398;padding:11px;color:#3b4d6a;font-size:var(--text-12);line-height:1.5}.market-map{height:650px;border-radius:7px;overflow:hidden}@media(max-width:860px){.market-hero,.market-detail{grid-template-columns:1fr}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.market-grid{grid-template-columns:1fr}.market-toolbar{flex-direction:column}.market-toolbar input,.market-toolbar select{min-width:0}.market-hero{padding:25px}.market-hero h1{font-size:var(--text-24)}}
.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.metric{background:#fff;border:1px solid var(--line);border-radius:6px;padding:15px}
.metric small{color:var(--muted);font-size:var(--text-12)}
.metric b{display:block;font:700 var(--text-24) Manrope;margin:8px 0 3px}
.metric span{font-size:var(--text-12);color:#395b91}
.metric span.neutral{color:var(--muted)}
.section{background:#fff;border:1px solid var(--line);border-radius:6px;margin-top:18px}
.section-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.section-head h2{font:700 var(--text-14) Manrope;margin:0}
.section-head span{font-size:var(--text-12);color:var(--muted)}
.insights{display:grid;grid-template-columns:1fr 1fr 1fr}
.insight{padding:18px;border-right:1px solid var(--line)}
.insight:last-child{border:0}
.insight p{margin:0 0 9px;color:var(--muted);font-size:var(--text-12)}
.insight b{font:700 var(--text-20) Manrope}
.insight small{display:block;color:#788b83;line-height:1.5;margin-top:7px}
.registry-tools{background:#fff;border:1px solid var(--line);padding:12px;border-radius:6px;display:flex;gap:9px;align-items:center;margin-bottom:12px}
.registry-tools select,.registry-tools input{border:1px solid #dfe3e9;border-radius:4px;padding:8px;background:#fff;font:var(--text-12) Inter;color:var(--ink)}
.registry-tools input{min-width:200px}
.housing-report{margin:24px 0;padding:24px;border:1px solid #dce1e9;border-radius:14px;background:#f7f8fa}.housing-report-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:18px}.housing-report-head h2{margin:3px 0 5px;color:#172946;font:700 var(--text-24) Manrope}.housing-report-head span{color:#71828a;font-size:var(--text-14)}.housing-report-head label{display:grid;gap:6px;min-width:190px;color:#50688f;font:700 var(--text-12) Inter}.housing-report-head select,.commissioning-detail select{height:var(--control-md);padding:0 12px;border:1px solid #d5dae3;border-radius:7px;background:#fff;color:#202f48;font:600 var(--text-14) Inter}.commissioning-tabs{display:flex;margin:0 0 14px;border:1px solid #dce1e9;border-radius:8px;background:#fff;overflow:hidden}.commissioning-tabs button{flex:1;padding:11px;border:0;border-right:1px solid #dce1e9;background:transparent;color:#59739e;font:700 var(--text-12) Inter;cursor:pointer}.commissioning-tabs button:last-child{border:0}.commissioning-tabs button.active{background:#eaeef5;color:#163970}.housing-report[data-mode="chart"] .commissioning-detail,.housing-report[data-mode="table"] .commissioning-widgets{display:none}.commissioning-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid #dce1e9;border-radius:10px;background:#fff}.commissioning-summary article{padding:18px 20px;border-right:1px solid #e4e8ee}.commissioning-summary article:last-child{border:0}.commissioning-summary small{display:block;color:#72848b;font:600 var(--text-12) Inter}.commissioning-summary b{display:block;margin:7px 0 5px;color:#122647;font:700 var(--text-24) Manrope}.commissioning-summary span{display:block;color:#71828a;font-size:var(--text-12)}.commissioning-widgets{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:14px;margin-top:14px}.commissioning-widget{min-height:280px;padding:18px;border:1px solid #dce1e9;border-radius:10px;background:#fff}.commissioning-widget-head,.commissioning-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.commissioning-widget h3,.commissioning-detail h3{margin:0;color:#172946;font:700 var(--text-16) Manrope}.commissioning-widget p,.commissioning-detail p{margin:5px 0 0;color:#75878e;font-size:var(--text-12);line-height:1.4}.commissioning-widget-head>span{color:#5a75a0;font-size:var(--text-12);white-space:nowrap}.commissioning-columns{display:flex;align-items:end;gap:5px;height:190px;margin-top:20px;padding:0 2px 18px;border-bottom:1px solid #e0e4eb}.commissioning-column{display:grid;grid-template-rows:1fr 15px;align-items:end;flex:1;height:100%;min-width:0}.commissioning-column i{display:block;width:100%;border-radius:3px 3px 0 0;background:#6685b6}.commissioning-column:hover i{background:#13438f}.commissioning-column span{align-self:end;text-align:center;color:#6e86ad;font-size:var(--text-12)}.commissioning-rank{display:grid;gap:8px;margin-top:19px}.commissioning-rank-row{display:grid;grid-template-columns:minmax(75px,1fr) 1.4fr auto;gap:8px;align-items:center;color:#36465f;font-size:var(--text-12)}.commissioning-rank-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commissioning-rank-row>div{height:12px;overflow:hidden;border-radius:2px;background:#edeff3}.commissioning-rank-row i{display:block;height:100%;border-radius:2px;background:#759ad5}.commissioning-rank-row b{color:#1d3152;font:700 var(--text-12) Inter;white-space:nowrap}.commissioning-detail{margin-top:14px;overflow:hidden;border:1px solid #dce1e9;border-radius:10px;background:#fff}.commissioning-detail-head{padding:17px 18px;border-bottom:1px solid #e3e7ed}.commissioning-detail #commissioningTable .table-wrap{margin:0;border:0;border-radius:0}.commissioning-detail #commissioningTable .data-table{font-size:var(--text-12)}.housing-report>.detail-note{margin:12px 2px 0;color:#72848b;font-size:var(--text-12)}
.registry-tools .result-count{margin-left:auto;color:var(--muted);font-size:var(--text-12)}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:6px}
.data-table{width:100%;border-collapse:collapse;white-space:nowrap}
.data-table th{padding:12px 13px;background:#f8f9fb;border-bottom:1px solid var(--line);text-align:left!important;color:#7a8992;text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-12)}
.data-table th[data-sortable]{padding:0;user-select:none}.table-sort-button{display:flex;align-items:center;width:100%;min-height:40px;padding:0 12px;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;cursor:pointer}.data-table th[data-sortable]:hover,.data-table th[data-sortable]:focus-within{background:#edf0f4;color:#405372}.table-sort-button:focus-visible{outline:2px solid var(--focus-ring,#286ebd);outline-offset:-2px}.sort-indicator{display:inline-block;margin-left:5px;color:#8b9fbe;font-size:0}.sort-indicator::after{content:'↕';font-size:var(--text-12)}.data-table th[data-sort-direction="asc"] .sort-indicator{color:#286ebd}.data-table th[data-sort-direction="asc"] .sort-indicator::after{content:'↑'}.data-table th[data-sort-direction="desc"] .sort-indicator{color:#286ebd}.data-table th[data-sort-direction="desc"] .sort-indicator::after{content:'↓'}
.data-table td{padding:13px;border-bottom:1px solid var(--line);font-size:var(--text-12);text-align:left!important}
.data-table tr:last-child td{border:0}
.data-table tbody tr:hover{background:#f8f9fb}
.entity{display:grid;gap:4px;justify-items:start;text-align:left!important;width:100%}
.data-table th *,.data-table td *{text-align:left!important}
.data-table .entity>*{justify-self:start;width:100%}
.entity b{font-size:var(--text-12)}
.entity small{color:var(--muted);font-size:var(--text-12)}
.badge{padding:4px 7px;border-radius:3px;font-size:var(--text-12);font-weight:700;background:#e7ecf4;color:#284676}
.badge.score{background:#edf4fc;color:#2c6cad}
.badge.status{background:#f1f3f6;color:#50688e}
.favorite{border:0;background:transparent;font-size:var(--text-20);color:#91a1aa;cursor:pointer}
.favorite.saved{color:#e4a43e}
.bulk{display:none;align-items:center;gap:10px;background:#eaeef4;border:1px solid #b9c5d9;color:#273c5f;border-radius:5px;padding:8px 11px;margin-bottom:11px;font-size:var(--text-12)}
.bulk.visible{display:flex}
.bulk button{margin-left:auto;border:0;background:#2f548f;color:white;border-radius:4px;padding:7px 9px;font:600 var(--text-12) Inter;cursor:pointer}
.link-button{border:0;background:transparent;color:var(--blue);font:600 var(--text-12) Inter;cursor:pointer;text-align:left!important;justify-content:flex-start}
.data-table .link-button{display:block;width:100%}
.detail-hero{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px}.detail-hero img{width:220px;height:138px;object-fit:cover;border-radius:5px;background:#e8ebef}.detail-hero h2{font:700 var(--text-24) Manrope;margin:3px 0 8px}.detail-hero p{margin:0 0 14px;color:var(--muted);line-height:1.5}.detail-note{padding:4px 18px 18px;color:#455a7b;line-height:1.6;font-size:var(--text-12)}
.district-bars{padding:18px}
.bar-row{display:grid;grid-template-columns:145px 1fr 95px 70px;gap:15px;align-items:center;margin:13px 0;font-size:var(--text-12)}
.track{height:8px;background:#eceff3;border-radius:10px;overflow:hidden}
.fill{height:100%;background:#4f6c9b;border-radius:10px}
.muted{color:var(--muted)}
dialog{border:0;border-radius:7px;max-width:560px;color:var(--ink);box-shadow:0 20px 70px #1723354d;padding:28px}
dialog::backdrop{background:#17233566}
.dialog-close{position:absolute;right:9px;top:5px;border:0;background:none;font-size:var(--text-24);color:#71808b;cursor:pointer}
.dialog-title{font:700 var(--text-24) Manrope;margin:0}
.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.dialog-grid div{background:#f4f6f8;border-radius:4px;padding:11px}
.dialog-grid small{display:block;color:var(--muted);font-size:var(--text-12);margin-bottom:5px}
.reason{border-left:3px solid #4f6c9b;padding:4px 0 4px 12px;color:#455a7b;line-height:1.6;font-size:var(--text-12)}
.app-shell{display:block}
.topbar{position:sticky;top:0;z-index:20;height:64px;padding:0 30px;gap:14px}
.header-brand{flex:none;padding:0;color:#172946}.site-brand-logo{display:block;width:104px;height:auto;aspect-ratio:632/155;object-fit:contain}.header-brand .brand-lockup{display:grid;width:118px;gap:3px}.header-brand .brand-wordmark{display:block;width:100%;color:#222c3d;font:700 var(--text-20) Inter,Arial,sans-serif;letter-spacing:-.02em;line-height:1}.header-brand .brand-domain{color:var(--accent);font:inherit;letter-spacing:inherit}.header-brand .brand-tagline{display:block;width:100%;color:#687271;font:700 var(--text-12)/1.1 Inter,Arial,sans-serif;letter-spacing:.028em;white-space:nowrap}
.project-editor-card{display:flex;flex-direction:column}.project-editor-grid{order:1}.project-editor-photo-section{order:2;margin-top:22px}.project-editor-actions{order:3}
.project-editor-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.project-editor-photo{overflow:hidden;border:1px solid #dde1e8;border-radius:8px;background:#fff}.project-editor-photo[draggable="true"]{cursor:grab}.project-editor-photo.is-dragging{opacity:.45;outline:2px dashed #2a4c83;outline-offset:2px}.project-editor-photo img{display:block;width:100%;height:110px;object-fit:cover}.project-editor-photo>div{display:grid;gap:6px;padding:8px;color:#4d648a;font-size:var(--text-12)}.project-editor-photo>div b{color:#293952}.project-editor-photo>div span{color:#5a75a0}.project-editor-photo .secondary{margin:0 8px 8px;font-size:var(--text-12)}
.project-photo-editor-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(8, 18, 34,.72)}.project-photo-editor-modal{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #bbc7d9;border-radius:10px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32)}.project-photo-editor-head,.project-photo-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #dce1e8}.project-photo-editor-head h2{margin:0;color:#0c203f;font:800 var(--text-20) Manrope}.project-photo-editor-head p{margin:3px 0 0;color:#556e97;font-size:var(--text-13)}.project-photo-editor-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #f0c9c5;border-radius:50%;background:#fff6f5;color:#b33f37;font-size:var(--text-20);line-height:1;cursor:pointer}.project-photo-editor-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;min-height:0;padding:18px;background:#f5f7f9}.project-photo-editor-stage{min-height:0;border:1px solid #d1d7e1;border-radius:8px;background:#101f36;overflow:hidden}.project-photo-editor-stage canvas{display:block;width:100%;height:auto;max-height:calc(100vh - 260px);cursor:grab}.project-photo-editor-stage canvas:active{cursor:grabbing}.project-photo-editor-controls{display:flex;flex-direction:column;gap:14px}.project-photo-editor-controls label{display:grid;gap:8px;color:#243550;font-weight:700}.project-photo-editor-controls input[type="range"]{width:100%}.project-photo-editor-buttons{display:grid;gap:8px}.project-photo-editor-controls p{margin:0;color:#556e97;font-size:var(--text-13);line-height:1.45}.project-photo-editor-actions{border-top:1px solid #dce1e8;border-bottom:0}.project-photo-editor-actions span{color:#4e668c;font-size:var(--text-13)}@media(max-width:760px){.project-photo-editor-overlay{padding:10px}.project-photo-editor-body{grid-template-columns:1fr}.project-photo-editor-stage canvas{max-height:56vh}.project-photo-editor-actions{flex-wrap:wrap}}
.header-nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow:visible}
.header-nav .nav-item{width:auto;flex:none;color:#455a7b;padding:8px 9px;font-size:var(--text-12);gap:5px;white-space:nowrap}.header-nav .nav-item:hover,.header-nav .nav-item.active{background:#e8ecf3;color:#1d3c6e}.header-nav .nav-item b{background:#dce3ed;color:#29436c;margin-left:2px}
.market-preferences{display:flex;gap:4px;align-items:center}.market-preferences select{height:var(--control-sm);max-width:78px;border:1px solid #d8dde5;border-radius:6px;appearance:none;-webkit-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%234b6670' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;color:#31415b;padding:0 28px 0 10px;font:700 var(--text-12) Inter;cursor:pointer}.market-preferences select:focus{outline:2px solid #b7c4da;outline-offset:1px}
.nav-group{position:relative;flex:none}.nav-group-trigger{border:0;background:transparent;cursor:pointer;padding:8px 9px;border-radius:5px;color:#455a7b;font:600 var(--text-12) Inter;white-space:nowrap}.nav-group-trigger span{margin-left:5px;color:#6881aa}.nav-group-trigger:hover,.nav-group-trigger.open{background:#e8ecf3;color:#1d3c6e}.dropdown-list{display:none;position:absolute;z-index:30;top:34px;left:0;min-width:190px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 24px rgba(22, 35, 57,.14)}.dropdown-list.open{display:grid}.dropdown-list .nav-item{display:flex;width:100%;text-align:left;padding:10px;color:#35445d;font-weight:600}.dropdown-list .nav-item:hover,.dropdown-list .nav-item.active{background:#e8ecf3;color:#17376b}
.top-actions{margin-left:auto;min-width:0}.top-actions .crumb{display:none}
@media(max-width:1050px){.top-actions .search{display:none}}
@media(max-width:900px){.top-actions .crumb{display:none}}
@media(max-width:760px){.topbar{padding:0 14px;gap:9px}.header-brand .brand-tagline{display:none}.header-nav{gap:2px}.top-actions .search{display:none}.page{padding:20px 14px 45px}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}
.sidebar{display:none}
.metrics{grid-template-columns:repeat(2,1fr)}
.page{padding:22px}
.insights{grid-template-columns:1fr}
.insight{border-right:0;border-bottom:1px solid var(--line)}
.topbar{padding:0 22px}
.search{display:none}
}
@media(max-width:520px){.metrics{grid-template-columns:1fr}
.page-head{display:block}
.page-head button{margin-top:14px}
.registry-tools{flex-wrap:wrap}
.registry-tools .result-count{margin-left:0}
}

/* Shared working-table pattern for every administrator registry. */
.admin-registry-page{max-width:1320px}.admin-table-filter{margin:0 0 12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 8px #17294608}.admin-table-filter-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.admin-table-filter-head b{display:block;color:#253651;font:700 var(--text-16) Manrope}.admin-table-filter-head span{display:block;margin-top:3px;color:#73848b;font-size:var(--text-12)}.admin-table-actions{display:flex;align-items:center;gap:9px}.admin-columns-button{white-space:nowrap;padding:8px 11px}.admin-columns-button.active{border-color:#728ab0;background:#eaeef5;color:#173b76}.admin-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:15px;padding-top:15px;border-top:1px solid #e4e8ee}.admin-filter-fields[hidden]{display:none}.admin-filter-fields label{display:grid;gap:6px;color:#35455e;font:700 var(--text-12) Inter}.admin-filter-fields input,.admin-filter-fields select{box-sizing:border-box;width:100%;height:var(--control-md);padding:8px 10px;border:1px solid #d8dde5;border-radius:6px;background:#fff;color:#202f48;font:var(--text-12) Inter}.admin-table-section{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.admin-data-table th{background:#f1f3f6!important;color:#4a6083!important;font-size:var(--text-12)!important}.admin-data-table td{font-size:var(--text-12)!important}.admin-columns-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:18px;background:#101a2a99}.admin-columns-dialog{width:min(530px,100%);padding:26px;border-radius:12px;background:#fff;box-shadow:0 20px 60px #090e1766}.admin-columns-title{display:flex;justify-content:space-between;align-items:center}.admin-columns-title h2{margin:0;color:#1e2d46;font:700 var(--text-20) Manrope}.admin-columns-title button{border:0;background:transparent;color:#536b93;font-size:var(--text-32);line-height:1;cursor:pointer}.admin-columns-dialog>p{margin:8px 0 18px;color:#71828a;font-size:var(--text-12)}.admin-columns-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;max-height:380px;overflow:auto}.admin-columns-list label{display:flex;gap:9px;align-items:center;color:#2c394d;font:600 var(--text-14) Inter}.admin-columns-list input{width:18px;height:18px;accent-color:#246bd4}.admin-columns-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.admin-columns-footer button{padding:10px 15px}
.admin-table-section .table-scroll{max-width:100%;overflow:auto}.admin-table-section .admin-data-table{width:max-content;min-width:100%;table-layout:fixed}.admin-table-section .admin-data-table th,.admin-table-section .admin-data-table td{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table-section .admin-data-table th[data-column-kind="text"],.admin-table-section .admin-data-table td[data-column-kind="text"]{min-width:130px}.admin-table-section .admin-data-table th[data-column-kind="compact"],.admin-table-section .admin-data-table td[data-column-kind="compact"]{min-width:74px}.admin-table-section .admin-data-table th[data-column="photo"],.admin-table-section .admin-data-table td[data-column="photo"]{width:58px;min-width:58px;max-width:58px}.admin-table-section .admin-data-table th[data-column="id"],.admin-table-section .admin-data-table td[data-column="id"]{width:70px;min-width:70px;max-width:70px}.admin-table-section .admin-data-table .link-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-table-section .admin-data-table th[data-column="name"],.admin-table-section .admin-data-table td[data-column="name"],.admin-table-section .admin-data-table th[data-column="project"],.admin-table-section .admin-data-table td[data-column="project"]{min-width:180px;max-width:180px}.admin-table-section .admin-data-table th[data-column="developer"],.admin-table-section .admin-data-table td[data-column="developer"]{min-width:165px;max-width:165px}.admin-table-section .admin-data-table th[data-column="address"],.admin-table-section .admin-data-table td[data-column="address"]{min-width:200px;max-width:200px}
.admin-table-toolbar{display:flex;justify-content:flex-end;align-items:center;min-height:34px;margin:-54px 0 20px}.admin-table-toolbar .admin-table-actions{gap:8px}.admin-table-toolbar .admin-columns-button{height:var(--control-sm);padding:7px 11px;background:#fff}.admin-filter-panel{margin:0 0 12px!important;padding:14px!important;border:1px solid #dce1e9!important;border-radius:9px;background:#f5f7f9}.admin-filter-panel[hidden]{display:none}
.admin-filter-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.admin-filter-actions button{min-width:132px;height:var(--control-md)}
.project-registry-actions{justify-content:flex-end;white-space:nowrap}.project-registry-actions .admin-columns-button{height:var(--control-sm);background:#fff}.project-registry-actions .result-count{margin-left:5px}
.page-head:has(.primary) + .admin-table-toolbar{margin-top:0}
@media(max-width:700px){.admin-table-toolbar{margin:0 0 10px}.admin-table-toolbar .admin-table-actions{width:100%;justify-content:flex-end}.admin-filter-panel{grid-template-columns:1fr!important}}
/* Totals stay visually separate from the records and remain visible after filtering. */
body.admin-mode .admin-data-table tfoot td{padding:10px 12px;border-top:2px solid #b5c2d6;background:#eaeef5;color:#172e52;font:700 var(--text-12) Inter;white-space:nowrap}body.admin-mode .admin-data-table tfoot .admin-total-label{text-transform:uppercase;letter-spacing:.04em;color:#485d80;font-size:var(--text-12)}body.admin-mode .admin-data-table tfoot .admin-total-number{color:#08347a}
/* One table pattern for every administrator screen, including detail tables. */
body.admin-mode .table-wrap,body.admin-mode .admin-table-section{margin:0 0 12px;border:1px solid #dce1e9;border-radius:10px;background:#fff;box-shadow:0 1px 3px #17294608}body.admin-mode .table-wrap{overflow:auto}body.admin-mode .table-wrap>table,body.admin-mode .admin-data-table{width:100%;border-collapse:separate;border-spacing:0}body.admin-mode .table-wrap th,body.admin-mode .admin-data-table th{height:38px;padding:8px 12px;background:#f1f3f6;color:#4c6388;border-bottom:1px solid #dce1e9;font:700 var(--text-12) Inter;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}body.admin-mode .table-wrap td,body.admin-mode .admin-data-table td{padding:8px 12px;border-bottom:1px solid #e6e9ef;color:#29364c;font-size:var(--text-12);line-height:1.25;vertical-align:middle}body.admin-mode .table-wrap tbody tr:last-child td,body.admin-mode .admin-data-table tbody tr:last-child td{border-bottom:0}body.admin-mode .table-wrap tbody tr:hover,body.admin-mode .admin-data-table tbody tr:hover{background:#f7f9fb}body.admin-mode .registry-tools{margin:0 0 12px;padding:16px;border-radius:10px;gap:12px;box-shadow:0 2px 8px #17294608}body.admin-mode .registry-tools input,body.admin-mode .registry-tools select{height:var(--control-md);border-radius:6px;padding:8px 10px}body.admin-mode .section>.table-wrap{border-radius:0;border-width:1px 0 0;box-shadow:none;margin:0}
/* A registry is a dense working surface: every cell, link, number and badge
   uses one typeface. `!important` protects this from old component shorthand
   rules that otherwise reset `font-family` together with font weight. */
body.admin-mode .table-wrap,body.admin-mode .table-wrap *,body.admin-mode .admin-data-table,body.admin-mode .admin-data-table *{font-family:Inter,Arial,sans-serif!important}
/* Админка — рабочее место: оставляем названия и элементы управления, без обучающих текстов. */
body.admin-mode .page-head>div>p,body.admin-mode .section-head>div>p,body.admin-mode .market-section-head>div>p,body.admin-mode .quality-method,body.admin-mode .auction-method{display:none}
body.admin-mode .page-head{margin-bottom:16px}
body.admin-mode .page-head h1{font-size:var(--text-24);line-height:1.2;letter-spacing:-.03em}
/* Реестры прокручиваются по горизонтали, а не сжимают ЖК и застройщика до нечитаемых ячеек. */
body.admin-mode .admin-table-section .admin-data-table{width:max-content;min-width:100%;table-layout:fixed}
body.admin-mode .admin-table-section .admin-data-table th[data-column="name"],body.admin-mode .admin-table-section .admin-data-table td[data-column="name"],body.admin-mode .admin-table-section .admin-data-table th[data-column="project"],body.admin-mode .admin-table-section .admin-data-table td[data-column="project"]{width:180px;min-width:180px;max-width:180px}body.admin-mode .admin-table-section .admin-data-table th[data-column="developer"],body.admin-mode .admin-table-section .admin-data-table td[data-column="developer"]{width:165px;min-width:165px;max-width:165px}body.admin-mode .admin-table-section .admin-data-table th[data-column="address"],body.admin-mode .admin-table-section .admin-data-table td[data-column="address"]{width:200px;min-width:200px;max-width:200px}
body.admin-mode .admin-table-section .admin-data-table th[data-column="activity"],body.admin-mode .admin-table-section .admin-data-table td[data-column="activity"]{width:112px;min-width:112px;max-width:112px}body.admin-mode .admin-table-section .admin-data-table th[data-column="completeness"],body.admin-mode .admin-table-section .admin-data-table td[data-column="completeness"]{width:104px;min-width:104px;max-width:104px}body.admin-mode .admin-table-section .admin-data-table th[data-column="sortOrder"],body.admin-mode .admin-table-section .admin-data-table td[data-column="sortOrder"]{width:160px;min-width:160px;max-width:160px}body.admin-mode .admin-table-section .admin-data-table th[data-column="norakaruyc"],body.admin-mode .admin-table-section .admin-data-table td[data-column="norakaruyc"]{width:154px;min-width:154px;max-width:154px}body.admin-mode .admin-table-section .admin-data-table th[data-column="lots"],body.admin-mode .admin-table-section .admin-data-table td[data-column="lots"],body.admin-mode .admin-table-section .admin-data-table th[data-column="projects"],body.admin-mode .admin-table-section .admin-data-table td[data-column="projects"],body.admin-mode .admin-table-section .admin-data-table th[data-column="apartments"],body.admin-mode .admin-table-section .admin-data-table td[data-column="apartments"],body.admin-mode .admin-table-section .admin-data-table th[data-column="top"],body.admin-mode .admin-table-section .admin-data-table td[data-column="top"],body.admin-mode .admin-table-section .admin-data-table th[data-column="active"],body.admin-mode .admin-table-section .admin-data-table td[data-column="active"]{width:84px;min-width:84px;max-width:84px}
.organization-logo-editor{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:start;margin:18px;padding:16px;border:1px solid #dce1e8;border-radius:9px;background:#f7f9fb}.organization-logo-preview{display:grid;place-items:center;width:132px;height:102px;border:1px dashed #c3cddd;border-radius:7px;background:#fff;color:#6c85ad;font:600 var(--text-12) Inter}.organization-logo-preview img{max-width:108px;max-height:78px;object-fit:contain}.organization-logo-editor h3{margin:0;color:#243550;font:700 var(--text-16) Manrope}.organization-logo-editor p{margin:5px 0 12px;color:#546d96;font-size:var(--text-12);line-height:1.45}.organization-logo-editor .record-editor-field{margin-top:9px}@media(max-width:560px){.organization-logo-editor{grid-template-columns:1fr}.organization-logo-preview{width:100%}}
.organization-projects{margin:18px;padding-top:16px;border-top:1px solid #dce1e8}.organization-projects-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.organization-projects h2{margin:0;color:#243550;font:700 var(--text-16) Manrope}.organization-projects-head span{min-width:24px;padding:3px 7px;border-radius:999px;background:#e8ecf3;color:#284778;text-align:center;font:700 var(--text-12) Inter}.organization-project-list{display:grid;gap:6px}.organization-project-row{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:10px 12px;border:1px solid #dce1e8;border-radius:7px;background:#fff;color:#243550;text-align:left;cursor:pointer}.organization-project-row:hover{border-color:#738db7;background:#f7f9fb}.organization-project-row span{display:grid;gap:3px;min-width:0}.organization-project-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 var(--text-14) Inter}.organization-project-row small{overflow:hidden;color:#71838a;text-overflow:ellipsis;white-space:nowrap;font:var(--text-12) Inter}.organization-project-row i{flex:0 0 auto;color:#234376;font:600 var(--text-12) Inter;font-style:normal}.organization-projects-empty{margin:0;color:#71838a;font-size:var(--text-12)}
@media(max-width:760px){.admin-filter-fields{grid-template-columns:1fr 1fr}.admin-table-filter-head{align-items:flex-start;flex-direction:column}.admin-columns-list{grid-template-columns:1fr}}@media(max-width:460px){.admin-filter-fields{grid-template-columns:1fr}}
@media(max-width:520px){.bar-row{grid-template-columns:95px 1fr 70px}
.bar-row span:last-child{display:none}
}
.market-page{max-width:1280px}.market-home-hero{padding:46px}.market-home-no-stats{grid-template-columns:1fr}.market-eyebrow{font-weight:700!important;font-size:var(--text-12)!important;letter-spacing:.1em;text-transform:uppercase;color:#9bb2d8!important}.market-search-panel{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;padding:10px;background:#ffffff1f;border:1px solid #ffffff30;border-radius:8px;max-width:790px}.market-search-panel.market-search-no-budget{grid-template-columns:1.2fr 1fr auto;max-width:620px}.market-search-panel select{min-width:0;border:0;border-radius:5px;padding:11px;background:#fff;color:#2f3d53;font:var(--text-12) Inter}.market-search-panel .primary{padding:11px 14px}.market-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.market-categories button{position:relative;border:1px solid var(--line);background:#fff;border-radius:7px;padding:16px;text-align:left;cursor:pointer}.market-categories button:hover{border-color:#7d93b6;background:#f5f7fb}.market-categories b,.market-categories span{display:block}.market-categories b{font:700 var(--text-16) Manrope;color:#21314a}.market-categories span{color:var(--muted);font-size:var(--text-12);margin-top:4px}.market-category-count{position:absolute;top:16px;right:16px;color:#193d78;font:700 var(--text-12) Manrope}.market-section-head>div p{margin:5px 0 0;color:var(--muted);font-size:var(--text-12)}.market-card-chips{min-height:25px}.market-developer{color:#3d5170!important;font-weight:600}.market-price-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.market-price-row small{display:block;color:var(--muted);font-size:var(--text-12);margin-bottom:3px}.market-price-row strong{display:block;color:#234275;font:700 var(--text-14) Manrope;line-height:1.25}.market-price-row.single{grid-template-columns:1fr}.market-card footer{display:flex;justify-content:space-between;gap:8px;margin-top:13px;color:#73838a;font-size:var(--text-12)}.market-results{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:var(--text-12);margin:0 1px 12px}.market-results>span:first-child{font-weight:700;color:#36465f}.market-facts{display:flex;gap:20px;margin:18px 0}.market-facts span{display:grid;gap:3px;color:var(--muted);font-size:var(--text-12)}.market-facts b{color:#25344d;font:700 var(--text-14) Manrope}.detail-price{max-width:460px}.market-detail .market-actions{margin-top:17px}.public-mode .internal-nav{display:none}.public-mode .header-nav{gap:7px}.public-mode .nav-group-trigger{font-size:var(--text-12);color:#1f3860}@media(max-width:860px){.market-search-panel{grid-template-columns:1fr 1fr}.market-search-panel .primary{grid-column:span 2}.market-search-panel.market-search-no-budget{grid-template-columns:1fr 1fr}.market-search-panel.market-search-no-budget .primary{grid-column:span 2}.market-categories{grid-template-columns:1fr}.market-facts{gap:10px;flex-wrap:wrap}}@media(max-width:560px){.market-search-panel,.market-search-panel.market-search-no-budget{grid-template-columns:1fr}.market-search-panel .primary,.market-search-panel.market-search-no-budget .primary{grid-column:auto}.market-home-hero{padding:27px}.market-results{align-items:flex-start;gap:7px;flex-direction:column}}

/* The homepage reuses the analytics ranking component and keeps it desktop-only. */
.top-developers-section{margin-top:28px}.top-developers-section .insight-bar{cursor:pointer}.top-developers-note{margin:9px 0 0;color:#627ca6;font-size:var(--text-12)}@media(max-width:860px){.top-developers-section{display:none}}
.portal-summary{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}.portal-summary span{background:#e8ecf3;color:#2c4368;padding:7px 10px;border-radius:999px;font-size:var(--text-12);font-weight:600}.portal-group{margin-top:14px}
.developer-project-total{display:grid;place-items:center;align-content:center;min-width:112px;min-height:74px;padding:10px 14px;border-left:1px solid #e1e5eb;color:#495f83;text-align:center}.developer-project-total b{display:block;color:#08347c;font:700 var(--text-32)/1 Manrope}.developer-project-total span{display:block;margin-top:5px;font:700 var(--text-12) Inter;text-transform:uppercase;letter-spacing:.04em}@media(max-width:780px){.developer-project-total{grid-column:2;border-left:0;border-top:1px solid #e1e5eb;min-height:0;justify-items:start;text-align:left;padding:10px 0}.developer-project-total b{font-size:var(--text-24)}}@media(max-width:560px){.developer-project-total{grid-column:auto}}
.developer-with-logo{display:flex!important;align-items:center;gap:7px}.developer-with-logo img{width:24px!important;height:24px!important;flex:0 0 24px;border:1px solid #dce0e7;border-radius:5px;object-fit:contain;background:#f1f3f6}.project-hero-copy .developer-with-logo img{width:32px!important;height:32px!important;flex-basis:32px;border-radius:7px}.developer-with-logo .link-button{font-size:var(--text-12)}
.site-footer{margin-top:28px;background:#172742;color:#d5dbe4}.site-footer-inner{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(150px,.8fr) minmax(190px,1fr) minmax(180px,.9fr);gap:28px;align-items:start;max-width:1280px;margin:0 auto;padding:28px 30px}.site-footer-brand{display:flex;align-items:center}.site-footer-brand b,.site-footer-brand span{display:block}.site-footer-brand b{font:700 var(--text-12) Manrope;letter-spacing:.04em;color:#fff}.site-footer-brand .brand-domain{display:inline;color:var(--accent);font:inherit;letter-spacing:inherit}.site-footer-brand span{margin-top:3px;color:#a3b3cc;font-size:var(--text-12)}.site-footer-logo-surface{display:inline-flex!important;width:max-content;padding:5px 7px;border-radius:4px;background:#fff}.site-footer-logo-surface .site-brand-logo{width:104px}.site-footer-nav{display:flex;justify-content:flex-start;align-content:flex-start;gap:12px 16px;flex-wrap:wrap}.site-footer-seo b{flex-basis:100%;font:700 var(--text-12) Manrope;color:#fff}.site-footer button{border:0;background:transparent;padding:0;color:#d5dbe4;font:600 var(--text-12) Inter;cursor:pointer}.site-footer button:hover{color:#8cabdd}.site-footer-note{display:flex;flex-direction:column;align-items:flex-start;gap:11px;margin:0;padding:0;border:0;color:#a3b3cc;font-size:var(--text-12);text-align:left}.site-footer-note button{color:#9bb6e1}.site-footer-note small{color:#758cb1;font-size:var(--text-12)}.admin-mode .site-footer{display:none}@media(max-width:760px){.site-footer-inner{grid-template-columns:1fr;gap:18px;padding:24px 20px}.site-footer-nav{justify-content:flex-start}.site-footer-note{justify-content:flex-start;text-align:left;margin-top:0;padding-top:18px;border-top:1px solid rgba(213, 219, 228,.17)}}
.auction-method{margin:0 0 14px;padding:12px 14px;border:1px solid #d9dee7;border-radius:7px;background:#f1f4f8;color:#435777;font-size:var(--text-12);line-height:1.55}.auction-method b{color:#283c5b}.auction-mark{display:grid;place-items:center;width:120px;height:120px;border-radius:9px;background:#eaeef4;color:#274677;font-size:var(--text-32);font-weight:700}.auction-detail{grid-template-columns:120px 1fr}.auction-checklist{display:grid;gap:0}.auction-checklist span{padding:13px 18px;border-bottom:1px solid var(--line);font-size:var(--text-12);color:#455a7b}.auction-checklist span:last-child{border-bottom:0}@media(max-width:560px){.auction-detail{grid-template-columns:1fr}.auction-mark{width:100%;height:85px}}
.investment-page{max-width:1280px}.investment-hero{padding:34px;background:linear-gradient(120deg,#202c51,#345884);border-radius:11px;color:#fff;display:grid;grid-template-columns:1.35fr .65fr;gap:30px}.investment-hero h2{font:700 var(--text-24) Manrope;line-height:1.18;margin:6px 0 12px}.investment-hero p{max-width:710px;line-height:1.6;color:#dce8f5}.investment-principles{display:grid;gap:9px;align-content:center}.investment-principles span{padding:12px;border:1px solid #ffffff2b;border-radius:7px;background:#ffffff10;font-size:var(--text-12)}.investment-principles b{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;background:#86b6ed;color:#193b62;border-radius:50%;font-size:var(--text-12)}.investment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.investment-card{display:flex;flex-direction:column;padding:17px;background:#fff;border:1px solid var(--line);border-radius:9px}.investment-card-top{display:flex;justify-content:space-between;gap:8px;color:#70818a;font-size:var(--text-12)}.investment-card h2{font:700 var(--text-20) Manrope;color:#1d2c44;margin:16px 0 5px;line-height:1.25}.investment-market{margin:0;color:#4c6387;font-size:var(--text-12)}.investment-facts{display:grid;gap:9px;margin:16px 0}.investment-facts span{font-size:var(--text-12);line-height:1.45;color:#4b6286}.investment-facts b{display:block;color:#31546a;margin-bottom:2px;font-size:var(--text-12);text-transform:uppercase}.investment-card details{padding:9px 0;border-top:1px solid var(--line);font-size:var(--text-12);color:#4f668c;line-height:1.55}.investment-card summary{cursor:pointer;font-weight:700;color:#31546a}.investment-card details p{margin:7px 0 0}.investment-card>a{margin-top:12px}.investment-workflow ol{margin:0;padding:16px 38px 19px;color:#465b7c;font-size:var(--text-12);line-height:1.65}.investment-workflow li+li{margin-top:5px}@media(max-width:900px){.investment-hero{grid-template-columns:1fr}.investment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.investment-grid{grid-template-columns:1fr}.investment-hero{padding:24px}.investment-hero h2{font-size:var(--text-24)}}
.investment-explainer{margin-top:20px;background:#fff;border:1px solid #dce5ef;border-radius:10px;overflow:hidden}.investment-explainer .section-head{align-items:flex-start}.investment-explainer .section-head h2{font-size:var(--text-20)}.investment-explainer .section-head p{margin:5px 0 0;color:var(--muted);font-size:var(--text-12)}.investment-basics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.investment-basics>div{padding:17px;border-right:1px solid var(--line)}.investment-basics>div:last-child{border-right:0}.investment-basics b{font:700 var(--text-14) Manrope;color:#294a70}.investment-basics p{font-size:var(--text-12);line-height:1.55;color:#5e707a;margin:7px 0 0}.investment-examples{display:grid;grid-template-columns:repeat(4,1fr);padding:15px;gap:10px}.investment-examples article{padding:14px;border:1px solid #e1e8ef;border-radius:7px;background:#f9fbfd}.investment-examples span,.investment-examples strong{display:block}.investment-examples span{color:#71828d;font-size:var(--text-12)}.investment-examples b{display:block;font:700 var(--text-24) Manrope;color:#244d77;margin:7px 0 3px}.investment-examples strong{font:700 var(--text-12) Manrope;color:#274371}.investment-examples p{font-size:var(--text-12);line-height:1.5;color:#4f668c;margin:10px 0 0}.investment-footnote{margin:0;padding:0 17px 16px;color:#74848c;font-size:var(--text-12);line-height:1.5}@media(max-width:900px){.investment-basics{grid-template-columns:1fr}.investment-basics>div{border-right:0;border-bottom:1px solid var(--line)}.investment-examples{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.investment-examples{grid-template-columns:1fr}}
.simple-compare{margin-top:20px;background:#fff;border:1px solid #dce5ef;border-radius:10px;overflow:hidden}.simple-compare .section-head{align-items:flex-start}.simple-compare .section-head h2{font-size:var(--text-20)}.simple-compare .section-head p{margin:5px 0 0;color:#5f717a;font-size:var(--text-12);line-height:1.5}.simple-compare-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.simple-compare-grid article{position:relative;padding:19px;border-right:1px solid var(--line)}.simple-compare-grid article:last-child{border-right:0}.simple-number{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e5eff9;color:#285d8d;font:700 var(--text-12) Inter}.simple-compare-grid h3{font:700 var(--text-16) Manrope;color:#24445c;margin:12px 0 10px}.simple-flow{display:flex;align-items:center;gap:9px;margin:11px 0 15px}.simple-flow b{padding:7px 10px;border-radius:5px;background:#edf1f7;color:#284169;font:700 var(--text-12) Inter}.simple-flow i{font-style:normal;color:#5d84a9;font-size:var(--text-20)}.simple-compare-grid p{font-size:var(--text-12);line-height:1.55;color:#4b6286;margin:10px 0}.simple-compare-grid p b{color:#31546a}.simple-compare-grid small{display:block;margin-top:13px;padding-top:10px;border-top:1px solid var(--line);font-size:var(--text-12);line-height:1.45;color:#71828b}.simple-answer{padding:14px 18px;background:#f1f7fc;color:#465b7d;font-size:var(--text-12);line-height:1.55}.simple-answer b{color:#315a82}@media(max-width:800px){.simple-compare-grid{grid-template-columns:1fr}.simple-compare-grid article{border-right:0;border-bottom:1px solid var(--line)}}
.simple-hierarchy{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 18px;background:#f7fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.simple-hierarchy span{padding:6px 9px;border-radius:5px;background:#e8f1f9;color:#315a82;font:700 var(--text-12) Inter;letter-spacing:.03em}.simple-hierarchy i{font-style:normal;color:#6585a2;font-size:var(--text-16)}@media(max-width:560px){.simple-hierarchy{align-items:flex-start;flex-direction:column}.simple-hierarchy i{transform:rotate(90deg)}}
.strategy-page{max-width:1280px}.strategy-hero{padding:34px;background:linear-gradient(120deg,#14233a,#233d66);border-radius:11px;color:#fff;display:grid;grid-template-columns:1.35fr .65fr;gap:30px}.strategy-kicker{color:#8fabd9!important;letter-spacing:.12em;font-size:var(--text-12)!important;font-weight:700}.strategy-hero h2{font:700 var(--text-24) Manrope;line-height:1.18;margin:6px 0 12px}.strategy-hero p{max-width:710px;line-height:1.6;color:#d0d8e5}.strategy-principles{display:grid;gap:9px;align-content:center}.strategy-principles span{padding:12px;border:1px solid #ffffff27;border-radius:7px;background:#ffffff10;font-size:var(--text-12)}.strategy-principles b{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:7px;background:#567ab5;color:#162640;border-radius:50%;font-size:var(--text-12)}.strategy-section{margin-top:27px}.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.strategy-card{display:flex;flex-direction:column;min-height:260px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:9px}.strategy-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.strategy-state{padding:4px 7px;border-radius:999px;font:700 var(--text-12) Inter}.strategy-state.ready{background:#dde6f4;color:#153972}.strategy-state.demo{background:#e6f0fc;color:#2769a7}.strategy-state.idea{background:#f4ecfd;color:#8253aa}.strategy-state.research{background:#fff2db;color:#9c6716}.strategy-state.reference{background:#eceff3;color:#4d6489}.strategy-card h3{font:700 var(--text-20) Manrope;color:#1d2c44;margin:16px 0 7px}.strategy-card p{color:#51698f;font-size:var(--text-12);line-height:1.55;margin:0}.strategy-card>small{margin-top:14px;color:#425676;font-size:var(--text-12)}.strategy-card footer{border-top:1px solid var(--line);margin-top:auto;padding-top:12px;display:grid;gap:4px;font-size:var(--text-12);color:#73838b;line-height:1.35}.strategy-card footer b{color:#394a65;text-transform:uppercase;font-size:var(--text-12);letter-spacing:.06em}.strategy-decision{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;padding:20px;background:#eef1f5;border:1px solid #d8dfe9;border-radius:9px}.strategy-decision h2{font:700 var(--text-20) Manrope;margin:0}.strategy-decision p{color:#4d6489;line-height:1.55;font-size:var(--text-12)}.decision-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.decision-list span{background:#fff;border:1px solid #dce1ea;padding:10px;border-radius:6px;color:#556e96;font-size:var(--text-12)}.decision-list b{display:block;color:#283c5b;margin-bottom:3px}.strategy-core{display:flex;flex-wrap:wrap;gap:8px;padding:17px}.strategy-core span{border:1px solid #dfe3e9;border-radius:999px;padding:7px 10px;background:#f9fafb;color:#405371;font-size:var(--text-12)}@media(max-width:900px){.strategy-hero,.strategy-decision{grid-template-columns:1fr}.strategy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.strategy-grid,.decision-list{grid-template-columns:1fr}.strategy-hero{padding:24px}.strategy-hero h2{font-size:var(--text-24)}}
.market-catalog-page{max-width:1080px;background:#f4f6f8}.market-catalog-page .page-head{margin-bottom:15px}.market-catalog-page .page-head h1{font-size:var(--text-24)}.market-quick-filters{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.market-quick-filters button{border:0;border-bottom:1px solid #8c9fbe;background:transparent;color:#35455e;padding:2px 3px;font:var(--text-12) Inter;cursor:pointer}.market-quick-filters button:hover{color:#08347c;border-color:#08347c}.market-catalog-page .market-toolbar{margin:0 0 12px;border-radius:10px;box-shadow:0 2px 7px #17294608}.market-result-list,.developer-result-list{display:grid;gap:12px}.market-result-card{display:grid;grid-template-columns:235px minmax(0,1fr) 190px;gap:14px;background:#fff;border:1px solid #e2e5eb;border-radius:12px;padding:10px;min-height:218px;cursor:pointer;transition:box-shadow .15s}.market-result-card:hover{box-shadow:0 7px 18px #17294612}.market-result-photo{position:relative;min-height:195px;overflow:hidden;border-radius:8px;background:#e9ecf0}.market-result-photo img{width:100%;height:100%;object-fit:cover;display:block}.market-result-photo span{position:absolute;bottom:7px;left:7px;background:#142137d9;color:#fff;border-radius:4px;padding:4px 6px;font-size:var(--text-12)}.market-result-main{padding:4px 2px;min-width:0}.market-result-main h2{font:700 var(--text-20) Manrope;line-height:1.22;margin:5px 0 4px;color:#172946}.market-result-main p{margin:3px 0;font-size:var(--text-12)}.market-address{color:#50688f!important}.market-room-line{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:14px;color:#43587a;font-size:var(--text-12)}.market-room-line b{color:#1f3353}.market-result-footer{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:10px;border-top:1px solid var(--line);color:#70818a;font-size:var(--text-12)}.market-result-price{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:24px 4px 5px;border-left:1px solid #edf0f2}.market-result-price small{color:#74858d;font-size:var(--text-12)}.market-result-price strong{color:#172946;font:700 var(--text-16) Manrope;margin:2px 0}.market-result-price>span{color:#0a367c;font-size:var(--text-12)}.market-heart{position:absolute;right:0;top:0;border:0;background:#eff1f5;color:#485d80;width:28px;height:28px;border-radius:7px;font-size:var(--text-20);cursor:pointer}.market-phone{margin-top:auto;border:0;border-radius:5px;background:#0843a3;color:#fff;padding:9px 11px;font:600 var(--text-12) Inter;cursor:pointer}.developer-result-card{display:grid;grid-template-columns:100px 1fr auto;gap:17px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.developer-result-card img{width:100px;height:74px;object-fit:contain;border-radius:6px;background:#f2f3f6}.developer-result-card h2{font:700 var(--text-20) Manrope;margin:0;color:#172946}.developer-result-card p{margin:4px 0 0;color:var(--muted);font-size:var(--text-12)}.developer-result-facts{display:flex;gap:22px;flex-wrap:wrap;margin-top:12px}.developer-result-facts span{display:grid;gap:3px;color:#71828a;font-size:var(--text-12)}.developer-result-facts b{color:#273752;font:700 var(--text-12) Manrope}@media(max-width:780px){.market-result-card{grid-template-columns:180px 1fr;min-height:0}.market-result-price{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:10px 0;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}.market-result-price .market-heart{top:-205px}.market-phone{margin:0 0 0 auto}.market-result-photo{min-height:170px}.developer-result-card{grid-template-columns:75px 1fr}.developer-result-card img{width:75px}.developer-result-card .primary{grid-column:2;justify-self:start}}@media(max-width:560px){.market-result-card{grid-template-columns:1fr}.market-result-photo{height:185px}.market-result-price{grid-column:auto;border-left:0;border-top:1px solid var(--line);padding:10px 0}.market-result-price .market-heart{top:auto;right:0}.market-phone{margin-left:auto}.developer-result-card{grid-template-columns:1fr}.developer-result-card img{width:100%;height:90px}.developer-result-card .primary{grid-column:auto}}
.market-gallery-card{display:flex;flex-direction:column;gap:6px;padding:0!important;background:transparent}.market-gallery-card .gallery-main{height:158px;min-height:158px;cursor:pointer;touch-action:pan-y}.market-gallery-card>span{bottom:49px}.gallery-arrow{position:absolute;top:62px;width:30px;height:30px;border:0;border-radius:50%;background:#fff;color:#415473;font-size:var(--text-24);line-height:1;cursor:pointer;box-shadow:0 1px 5px #17294633}.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}.gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;height:38px}.gallery-thumb{position:relative;border:1px solid transparent;border-radius:5px;padding:0;overflow:hidden;background:#edeff3;cursor:pointer}.gallery-thumb.active{border:2px solid #0843a3}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumb.has-more::after{content:'';position:absolute;inset:0;background:#091a36a8}.thumb-more{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:700 var(--text-14) Inter;z-index:1}
.market-result-photo.market-gallery-card.single-photo{height:158px;min-height:158px}

/* Buyer-facing ЖК passport: image first, then the facts needed to choose an apartment. */
.project-anchor-nav{display:flex;gap:18px;margin:12px 0 18px;padding:11px 0;border-bottom:1px solid var(--line)}.project-anchor-nav a{font:600 var(--text-12) Inter;color:#435778;text-decoration:none}.project-anchor-nav a:hover{color:#083377}.project-detail-hero{align-items:start}.project-detail-gallery{min-width:0}.detail-gallery-main{position:relative;height:310px;border-radius:10px;overflow:hidden;background:#e8ebef}.detail-gallery-main>img{width:100%;height:100%;object-fit:cover;display:block}.detail-gallery-main>span{position:absolute;bottom:12px;left:12px;background:#172947e8;color:#fff;border-radius:5px;padding:6px 9px;font:700 var(--text-12) Inter}.project-detail-gallery .gallery-arrow{top:calc(50% - 15px)}.detail-gallery-thumbs{height:62px;margin-top:8px;grid-template-columns:repeat(5,1fr)}.detail-gallery-thumbs .gallery-thumb{height:62px}.market-gallery-note{font-size:var(--text-12)!important;margin:8px 0 0!important}.market-project-passport .market-detail h1{font-size:var(--text-32);line-height:1.1}.market-project-passport .market-actions .primary{background:#0a439f;color:#fff;border-color:#0a439f}.market-project-passport .market-actions .secondary{background:#fff;color:#1d3d71;border-color:#cfd6e1}.market-room-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.market-room-group{border:1px solid var(--line);border-radius:9px;background:#fff;padding:15px}.market-room-group h3{font:700 var(--text-16) Manrope;margin:0}.market-room-group p{color:var(--muted);font-size:var(--text-12);margin:6px 0 11px}.project-info-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.project-info-grid>div{padding:14px;border-right:1px solid var(--line)}.project-info-grid>div:last-child{border:0}.project-info-grid small,.project-info-grid b{display:block}.project-info-grid small{font-size:var(--text-12);color:var(--muted);margin-bottom:5px}.project-info-grid b{font:700 var(--text-14) Manrope;color:#28364d}.project-location-card{background:#f1f3f7;border-radius:9px;padding:18px}.project-location-card b,.project-location-card span{display:block}.project-location-card span{margin-top:5px;color:#445878;font-size:var(--text-12)}.project-location-card p{color:var(--muted);font-size:var(--text-12);margin:12px 0 0}@media(max-width:860px){.project-info-grid{grid-template-columns:repeat(2,1fr)}.project-info-grid>div:nth-child(2){border-right:0}.project-info-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:560px){.project-anchor-nav{gap:12px;overflow:auto}.detail-gallery-main{height:240px}.detail-gallery-thumbs{height:52px}.detail-gallery-thumbs .gallery-thumb{height:52px}.market-project-passport .market-detail h1{font-size:var(--text-24)}.project-info-grid{grid-template-columns:1fr}.project-info-grid>div{border-right:0;border-bottom:1px solid var(--line)}.project-info-grid>div:last-child{border-bottom:0}}

.quality-method{margin-top:14px;padding:12px 14px;border-left:3px solid #4a699a;background:#f1f3f7;color:#3b4d6a;font-size:var(--text-12);line-height:1.5}.metrics .metric.score b{color:#163c78}.metrics .metric.status b{color:#a05b20}

/* Keep navigation controls out of the way until the buyer explores a photo. */
.market-gallery-card .gallery-arrow,.detail-gallery-main .gallery-arrow{opacity:0;pointer-events:none;transition:opacity .16s ease}.market-gallery-card:hover .gallery-arrow,.detail-gallery-main:hover .gallery-arrow{opacity:1;pointer-events:auto}
.project-apartment-summary{display:grid;gap:0;margin-top:8px}.project-apartment-summary>div{display:grid;grid-template-columns:minmax(112px,1fr) 110px 84px minmax(125px,1fr);gap:10px;align-items:center;padding:3px 0;line-height:1.2;color:#536c94;font-size:var(--text-12)}.project-apartment-summary b{color:#1f3250;font:700 var(--text-12) Manrope}.project-apartment-summary strong{justify-self:end;color:#172946;font:700 var(--text-12) Manrope}.project-apartment-summary small{justify-self:end;color:#183c76;font:600 var(--text-12) Inter;white-space:nowrap}.with-linked-apartments{min-height:250px}.with-linked-apartments .market-result-footer{border-top:0;padding-top:8px}@media(max-width:780px){.project-apartment-summary>div{grid-template-columns:1fr 112px}.project-apartment-summary small{grid-column:2;grid-row:1;align-self:end}.project-apartment-summary span{grid-column:1}.project-apartment-summary strong{grid-column:2;grid-row:2}.with-linked-apartments{min-height:0}}@media(max-width:480px){.project-apartment-summary>div{grid-template-columns:1fr auto;gap:4px 8px}.project-apartment-summary span{grid-column:1}.project-apartment-summary small{grid-column:2;grid-row:1}.project-apartment-summary strong{grid-column:2;grid-row:2}}
.market-result-price{padding-top:4px}
.gallery-thumb.has-more::after{display:block;background:#091a36c9}.gallery-thumb .thumb-more{inset:0;width:auto;height:auto;padding:0;border-radius:0;background:transparent;color:#fff;font:700 var(--text-12) Inter}
.market-developer-aside{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 4px 5px;border-left:1px solid #edf0f2}.market-developer-aside>img{width:54px;height:42px;object-fit:contain;border:1px solid #e3e7ed;border-radius:6px;background:#fff;padding:3px}.market-developer-aside>b{color:#283750;font:700 var(--text-14) Manrope;line-height:1.25}.market-developer-aside .link-button{padding:0;color:#465b7c;font-size:var(--text-12)}.market-developer-aside .market-phone{margin-top:7px}.market-developer-aside>strong{margin-top:auto;color:#08347b;font:700 var(--text-12) Manrope}.project-start-price{margin:13px 0 0;color:#57719a;font-size:var(--text-12)}.project-start-price b{color:#192b49;font:700 var(--text-14) Manrope}@media(max-width:780px){.market-developer-aside{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:10px 0;display:grid;grid-template-columns:54px 1fr auto;align-items:center}.market-developer-aside>img{grid-row:1 / span 2}.market-developer-aside>b{grid-column:2}.market-developer-aside .link-button{grid-column:2}.market-developer-aside .market-phone{grid-column:3;grid-row:1 / span 2;margin:0}.market-developer-aside>strong{display:none}.market-developer-aside .market-heart{top:-205px}}@media(max-width:560px){.market-developer-aside{grid-column:auto}.market-developer-aside .market-heart{top:auto;right:0}.market-developer-aside .market-phone{margin-right:34px}}
.developer-website{display:grid;grid-template-columns:1fr auto;gap:1px 9px;align-items:center;width:max-content;min-width:180px;margin-top:13px;padding:8px 10px;border:1px solid #d6dce6;border-radius:7px;background:#f6f8fb;color:#1e3b69;text-decoration:none}.developer-website small{grid-column:1;color:#71828a;font-size:var(--text-12)}.developer-website b{grid-column:1;color:#17396f;font:700 var(--text-12) Manrope}.developer-website span{grid-column:2;grid-row:1 / span 2;font-size:var(--text-16)}.developer-website:hover{border-color:#768db2;background:#edf1f8}

/* Calm, buyer-facing project passport: unknown fields are not rendered as empty cards. */
.project-page-refined{max-width:1120px}.project-page-refined .project-detail-hero{margin-top:15px;padding:0;gap:28px}.project-page-refined .project-hero-copy{padding:12px 8px}.project-page-refined .market-detail h1{margin:10px 0 7px;font-size:var(--text-32)}.project-page-refined .market-address{max-width:520px}.project-price{display:grid;gap:4px;margin:24px 0 19px}.project-price small{color:#5b76a1;font-size:var(--text-12)}.project-price strong{color:#172b4a;font:700 var(--text-32) Manrope}.project-price span{color:#123e86;font-size:var(--text-12)}.project-price-note{margin:24px 0 19px!important;color:#556e97!important;font-size:var(--text-14)!important}.project-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.project-facts-grid>div{min-height:75px;padding:13px 14px;border:1px solid #dee2e9;border-radius:9px;background:#fff}.project-facts-grid small,.project-facts-grid b{display:block}.project-facts-grid small{margin-bottom:6px;color:#73838b;font-size:var(--text-12)}.project-facts-grid b{color:#23334e;font:700 var(--text-14) Manrope;line-height:1.35}.project-facts-grid .link-button{padding:0;text-align:left;font:700 var(--text-14) Manrope}.project-quiet-note{margin:0;padding:17px 18px;border-radius:9px;background:#f1f3f7;color:#50688e;font-size:var(--text-12)}.project-page-refined .project-location-card{margin-top:0;background:#fff;border:1px solid #dce1e8}.project-source-note{margin:24px 0 0;color:#7c8d93;font-size:var(--text-12)}.project-source-note a{color:#2b4876}.public-description{display:grid;gap:8px}.public-description .market-section-head{margin-bottom:0}.public-description-lead{margin:0;color:#28374e;font:600 var(--text-14)/1.55 Inter,Arial,sans-serif}.public-description-body{color:#475c7e;font:400 var(--text-14)/1.6 Inter,Arial,sans-serif;white-space:pre-line}.public-description-source{margin:0;color:#627ca7;font:var(--text-12)/1.45 Inter,Arial,sans-serif}.project-page-refined .market-section{margin-top:34px}@media(max-width:860px){.project-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-refined .project-detail-hero{grid-template-columns:1fr}.project-page-refined .project-hero-copy{padding:0}}@media(max-width:560px){.project-page-refined .market-detail h1{font-size:var(--text-24)}.project-facts-grid{grid-template-columns:1fr}.project-price strong{font-size:var(--text-24)}.project-page-refined .market-actions{display:grid;grid-template-columns:1fr}.project-page-refined .market-actions .primary{text-align:center}}

/* Public ЖК passport: the primary image is the page hero, not a small side tile. */
.project-page-refined .project-photo-hero{position:relative;display:block;min-height:430px;margin-top:15px;overflow:hidden;border-radius:12px;background:#172843;color:#fff}.project-page-refined .project-photo-hero .project-detail-gallery{position:absolute;inset:0}.project-page-refined .project-photo-hero .detail-gallery-main{height:100%;border-radius:0;background:#172843}.project-page-refined .project-photo-hero .detail-gallery-main:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10, 19, 34,.78) 0%,rgba(10, 19, 34,.48) 48%,rgba(10, 19, 34,.12) 100%)}.project-page-refined .project-photo-hero .detail-gallery-main>img{position:relative;z-index:0}.project-page-refined .project-photo-hero .project-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:430px;max-width:650px;padding:42px}.project-page-refined .project-photo-hero .market-detail h1,.project-page-refined .project-photo-hero h1{margin:10px 0 8px;color:#fff;font-size:var(--text-32);text-shadow:0 1px 2px #0005}.project-page-refined .project-photo-hero .market-address,.project-page-refined .project-photo-hero .market-developer,.project-page-refined .project-photo-hero .market-developer .link-button{color:#eff2f7}.project-page-refined .project-photo-hero .market-developer{margin:0 0 8px}.project-page-refined .project-photo-hero .market-developer .link-button{text-decoration-color:#ffffff80}.project-page-refined .project-photo-hero .developer-with-logo img{border-color:#ffffff55;background:#fff}.project-page-refined .project-photo-hero .project-price{margin:20px 0 17px}.project-page-refined .project-photo-hero .project-price small,.project-page-refined .project-photo-hero .project-price span{color:#d8e0ed}.project-page-refined .project-photo-hero .project-price strong{color:#fff}.project-page-refined .project-photo-hero .market-actions .link-button{color:#fff}.project-page-refined .project-photo-hero .detail-gallery-thumbs{position:absolute;z-index:3;right:18px;bottom:18px;width:280px;height:46px;margin:0}.project-page-refined .project-photo-hero .detail-gallery-thumbs .gallery-thumb{height:46px;border-color:#ffffff80}.project-page-refined .project-photo-hero .detail-gallery-main>span{z-index:3}.project-page-refined .project-photo-hero .gallery-arrow{z-index:4}.project-page-refined .project-photo-hero .market-chip{background:#ffffffdc;color:#26406a}@media(max-width:700px){.project-page-refined .project-photo-hero{min-height:390px}.project-page-refined .project-photo-hero .project-hero-copy{min-height:390px;padding:28px}.project-page-refined .project-photo-hero h1{font-size:var(--text-32)}.project-page-refined .project-photo-hero .detail-gallery-thumbs{right:14px;bottom:14px;width:220px;height:40px}.project-page-refined .project-photo-hero .detail-gallery-thumbs .gallery-thumb{height:40px}}@media(max-width:560px){.project-page-refined .project-photo-hero{min-height:430px;border-radius:9px}.project-page-refined .project-photo-hero .project-hero-copy{min-height:430px;padding:22px 18px 82px}.project-page-refined .project-photo-hero h1{font-size:var(--text-24)}.project-page-refined .project-photo-hero .detail-gallery-thumbs{left:14px;right:14px;width:auto}.project-page-refined .project-photo-hero .market-actions{width:100%}.project-page-refined .project-photo-hero .market-actions .primary{width:auto;text-align:center}}
.project-page-refined .detail-gallery-thumbs .gallery-thumb,.project-page-refined .detail-gallery-thumbs .gallery-thumb img,.project-page-refined .detail-gallery-thumbs .gallery-thumb::after,.project-page-refined .detail-gallery-thumbs .gallery-thumb .thumb-more{border-radius:8px}
.project-page-refined .project-photo-hero .gallery-hover-zone{display:none}.project-page-refined .project-photo-hero .detail-gallery-main:hover .gallery-arrow{opacity:1;pointer-events:auto}.project-page-refined .project-photo-hero:hover .gallery-arrow,.project-page-refined .project-photo-hero .gallery-arrow:focus-visible{opacity:1;pointer-events:auto}.project-page-refined .project-photo-hero .gallery-arrow.prev{left:18px;right:auto}.project-page-refined .project-photo-hero .gallery-arrow.next{right:18px}@media(max-width:560px){.project-page-refined .project-photo-hero .gallery-arrow.prev{left:14px}.project-page-refined .project-photo-hero .gallery-arrow.next{right:14px}}
.project-desktop-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.project-desktop-gallery-grid button{aspect-ratio:4 / 3;overflow:hidden;padding:0;border:0;border-radius:var(--radius-sm);cursor:zoom-in}.project-desktop-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .16s ease}.project-desktop-gallery-grid button:hover img,.project-desktop-gallery-grid button:focus-visible img{transform:scale(1.03)}.project-desktop-gallery-grid button:focus-visible{outline:2px solid var(--search-accent);outline-offset:2px}@media(max-width:860px){.project-desktop-gallery{display:none}}
.public-detail-actions{position:absolute;z-index:8;top:18px;right:18px;display:flex;gap:7px}.public-detail-icon{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#ffffffb0;color:#31415b;box-shadow:0 2px 8px #0c27361f;cursor:pointer;transition:transform .15s,background .15s,color .15s}.public-detail-icon:hover{transform:translateY(-1px);background:#ffffffdb}.public-detail-icon span{display:block;font:400 var(--text-24)/1 Arial,sans-serif}.public-detail-icon svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.public-detail-icon.is-saved{color:#d84d5b}.public-detail-icon.is-copied{color:#073888}.developer-public-hero{position:relative}.developer-public-hero .public-detail-actions{top:14px;right:14px}@media(max-width:560px){.public-detail-actions{top:12px;right:12px;gap:6px}.public-detail-icon{width:32px;height:32px}.project-page-refined .project-photo-hero .project-hero-copy{padding-top:72px}.developer-public-hero .public-detail-actions{top:12px;right:12px}}
.project-page-refined .public-admin-link{display:grid}@media(max-width:560px){.project-page-refined .public-admin-link{display:none}}
.public-detail-media{position:relative}.public-detail-media .public-detail-actions{top:14px;right:14px}@media(max-width:560px){.public-detail-media .public-detail-actions{top:10px;right:10px}}
.structure-toolbar{align-items:end}.structure-building-filter{display:grid;gap:5px;min-width:0}.structure-building-filter>span{padding:0;color:#50678d;font:700 var(--text-12) Inter}.structure-building-tags{display:flex;gap:7px;align-items:center;min-width:0}.structure-building-tags button{flex:0 0 auto;padding:8px 12px;border:1px solid #d7dce4;border-radius:7px;background:transparent;color:#405473;font:600 var(--text-14) Inter;white-space:nowrap;cursor:pointer}.structure-building-tags button:hover{border-color:#8499ba;background:transparent;color:#233f6d}.structure-building-tags button.active{border-color:#4c6792;background:transparent;color:#17386c;box-shadow:none;font-weight:700}@media(max-width:560px){.structure-toolbar{display:grid;gap:10px}.structure-building-tags{overflow-x:auto;margin-right:-15px;padding:0 15px 3px 0;scrollbar-width:thin}.structure-building-tags button{padding:8px 12px}.structure-toolbar>span{padding:0}}
.project-location-map-canvas .maplibregl-ctrl-bottom-right{font-size:var(--text-12)}.map-canvas .maplibregl-canvas,.project-location-map-canvas .maplibregl-canvas{outline:none}
.market-map-layer-control{display:flex;gap:2px;padding:2px;border:1px solid #d7dce5;border-radius:var(--radius-sm);background:#fff;box-shadow:0 2px 8px #1729461f}.market-map-layer-control button{min-width:68px;height:var(--control-sm);padding:4px 8px;border:0;border-radius:4px;background:transparent;color:#3e516f;font:600 var(--text-12)/1.25 var(--font-body);cursor:pointer}.market-map-layer-control button:hover{background:#edf0f4}.market-map-layer-control button.active{background:#e7ecf3;color:#17376b;font-weight:700}@media(max-width:600px){.market-map-layer-control button{min-width:74px;height:44px;font-size:var(--text-14)}}
.market-map .maplibregl-ctrl-geolocate{width:var(--control-sm);height:var(--control-sm);background-size:var(--icon-md)}@media(max-width:600px){.market-map .maplibregl-ctrl-geolocate{width:44px;height:44px;background-size:var(--icon-md)}}
.project-location-dot{display:block;width:16px;height:16px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:#08347b;box-shadow:0 1px 6px #17294666,0 0 0 2px #08347b}

/* Registry-like public list of developers: operational scale, never apartment prices. */
.market-catalog-page .developer-registry-card{grid-template-columns:74px minmax(180px,1.35fr) minmax(150px,.85fr) minmax(150px,.85fr) auto;gap:22px;min-height:0;padding:18px 16px;border:0;border-bottom:1px solid #dbe0e8;border-radius:0;box-shadow:none}.market-catalog-page .developer-registry-card:hover{box-shadow:none;background:#fbfcfd}.market-catalog-page .developer-registry-card img{width:74px;height:74px;border:1px solid #e3e6ec;background:#fff}.developer-registry-name h2{margin:0}.developer-registry-name .developer-name-link{padding:0;color:#172946;font:700 var(--text-16) Manrope}.developer-registry-name p{margin:5px 0 0;color:#5b76a1;font-size:var(--text-12)}.developer-registry-stat{display:grid;align-content:center;gap:4px}.developer-registry-stat span{color:#74838c;font-size:var(--text-12)}.developer-registry-stat b{color:#086bd4;font:600 var(--text-12) Inter;line-height:1.35}.developer-offers-badge{align-self:center;justify-self:end;padding:10px 14px;border-radius:8px;background:#e8f1ff;color:#0765ce;font:600 var(--text-12) Inter;white-space:nowrap}@media(max-width:780px){.market-catalog-page .developer-registry-card{grid-template-columns:64px 1fr auto;gap:12px;padding:14px 8px}.market-catalog-page .developer-registry-card img{width:64px;height:64px}.developer-registry-stat{grid-column:2}.developer-registry-stat+ .developer-registry-stat{grid-column:3;grid-row:2}.developer-offers-badge{grid-column:3;grid-row:1;align-self:start}}@media(max-width:520px){.market-catalog-page .developer-registry-card{grid-template-columns:56px 1fr;gap:10px}.market-catalog-page .developer-registry-card img{width:56px;height:56px}.developer-registry-stat{grid-column:2}.developer-registry-stat+ .developer-registry-stat{grid-column:2;grid-row:auto}.developer-offers-badge{grid-column:2;grid-row:auto;justify-self:start;margin-top:2px}}

.analytics-slice .detail-note{margin:0 0 15px}.analytics-bars{display:grid;gap:10px}.analytics-bar-row{display:grid;grid-template-columns:minmax(160px,260px) minmax(120px,1fr) 58px;align-items:center;gap:12px;font-size:var(--text-12)}.analytics-bar-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#293952}.analytics-bar-track{height:12px;overflow:hidden;border-radius:999px;background:#edeff3}.analytics-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5274ab,#1b4383)}.analytics-bar-row b{text-align:right;color:#22324c;font:700 var(--text-12) Manrope}@media(max-width:560px){.analytics-bar-row{grid-template-columns:minmax(100px,140px) minmax(70px,1fr) 46px;gap:8px;font-size:var(--text-12)}.analytics-bar-row b{font-size:var(--text-12)}}

/* One marketplace, role-specific workspaces after sign-in. */
.cabinet-page{max-width:1180px}.cabinet-role-section{max-width:760px;padding:24px 0}.cabinet-role-section .market-section-head>span{white-space:nowrap}.cabinet-role-grid{display:grid;grid-template-columns:1fr;gap:13px}.cabinet-role-card{display:flex;flex-direction:column;min-height:0;padding:19px;border:1px solid var(--line);border-radius:10px;background:#fff}.cabinet-role-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:8px;background:#e8edf4;color:#163d7d;font:700 22px/1 Inter}.cabinet-role-card h3{margin:0;color:#1d2e4a;font:700 var(--text-20) Manrope}.cabinet-role-card p{margin:8px 0 13px;color:#4f678d;font-size:var(--text-12);line-height:1.5}.cabinet-role-card ul{display:grid;gap:7px;margin:0 0 18px;padding:0;list-style:none}.cabinet-role-card li{color:#3e506e;font-size:var(--text-12)}.cabinet-role-card li:before{content:'✓';color:#14428b;margin-right:7px;font-weight:700}.cabinet-role-card .primary{margin-top:auto;align-self:flex-start}.developer-public-hero{grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start}.developer-public-logo{display:grid;place-items:center;width:112px;height:88px;overflow:hidden;border-radius:9px;background:#eef1f6}.developer-public-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}.developer-public-logo.is-fallback{padding:24px;box-sizing:border-box}.developer-public-logo.is-fallback img{opacity:.55}.market-developer-page .developer-public-hero .market-eyebrow{color:#64717d!important}@media(max-width:780px){.cabinet-role-section{max-width:none}.developer-public-hero{grid-template-columns:96px minmax(0,1fr);gap:16px}}@media(max-width:560px){.cabinet-role-section{padding:14px 0}.developer-public-logo{width:82px;height:68px}.developer-public-logo.is-fallback{padding:18px}}
.public-filter-tabs{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.public-filter-tabs button{min-height:38px;padding:8px 12px;border:1px solid #d3d9e2;border-radius:7px;background:#fff;color:#4c6286;font:600 var(--text-12) Inter;cursor:pointer}.public-filter-tabs button:hover{border-color:#7088af;background:#f4f6fa}.public-filter-tabs button.active{border-color:#163d7d;background:#e8edf4;color:#14366e}@media(max-width:560px){.public-filter-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.public-filter-tabs button{width:100%;padding-inline:6px}}

/* Editorial news feed on the public marketplace: articles first, registry only in admin. */
.news-page{max-width:1120px}.news-feature{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:16px;margin:8px 0 31px}.news-feature-intro{padding:24px;border-radius:11px;background:linear-gradient(135deg,#192b49,#264473);color:#fff}.news-kicker{margin:0 0 12px!important;color:#9cb7e2!important;font:700 var(--text-12) Inter!important;letter-spacing:.12em}.news-feature-intro h2{margin:0 0 11px;font:700 var(--text-24) Manrope}.news-feature-intro>p:last-child{margin:0;color:#d5ddeb;font-size:var(--text-12);line-height:1.6}.news-story{display:flex;flex-direction:column;min-height:210px;padding:20px;border:1px solid #dfe3e9;border-radius:11px;background:#fff}.news-story-featured{min-height:0;padding:24px;border-color:#b9c5d9;box-shadow:0 8px 21px #1729460d}.news-story-meta{display:flex;gap:8px;flex-wrap:wrap;color:#5b76a1;font-size:var(--text-12)}.news-story-meta span+span{padding-left:8px;border-left:1px solid #d4dae3;color:#284676;font-weight:700}.news-story h2{margin:13px 0 9px;color:#192b49;font:700 var(--text-20)/1.3 Manrope}.news-story-featured h2{font-size:var(--text-24)}.news-story p{margin:0;color:#4f668c;font-size:var(--text-12);line-height:1.6}.news-story footer{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:auto;padding-top:17px}.news-story footer>a{color:#146ab2;font:700 var(--text-12) Inter;text-decoration:none;white-space:nowrap}.news-related-list{display:flex;gap:6px;flex-wrap:wrap}.news-related{border:0;border-radius:999px;padding:5px 8px;background:#eef1f6;color:#28426d;font:600 var(--text-12) Inter;cursor:pointer}.news-related:hover{background:#dce3ef}.news-list-section{margin-top:0}.news-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}@media(max-width:850px){.news-feature{grid-template-columns:1fr}.news-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.news-story-grid{grid-template-columns:1fr}.news-feature-intro{padding:20px}.news-story-featured{padding:20px}.news-story footer{align-items:flex-start;flex-direction:column}.news-story-featured h2{font-size:var(--text-20)}}
.menu-group-label{display:block;margin:8px 10px 3px;color:#80919a;font:700 var(--text-12) Inter;letter-spacing:.08em}.menu-group-label+button{border-top:1px solid #e3e7ed}

/* Optional project chessboard. It describes layouts, never sales availability. */
.project-structure-section{padding:20px;border:1px solid #dce1e8;border-radius:11px;background:#f5f7f9}.structure-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.structure-toolbar label{display:grid;gap:5px;color:#50678d;font:700 var(--text-12) Inter}.structure-toolbar select{min-width:190px;padding:9px 30px 9px 10px;border:1px solid #cdd4de;border-radius:6px;background:#fff;color:#1e2e49;font:600 var(--text-14) Inter}.structure-chessboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:9px}.structure-apartment{display:grid;gap:5px;min-height:114px;padding:13px;border:1px solid #d7dce5;border-radius:8px;background:#fff}.structure-apartment b{color:#213452;font:700 var(--text-14) Manrope}.structure-apartment span{color:#556e97;font-size:var(--text-12);line-height:1.35}.structure-apartment strong{margin-top:auto;color:#12366f;font:700 var(--text-12) Manrope}.structure-note{margin:12px 0 0;color:#708188;font-size:var(--text-12);line-height:1.5}.structure-note a{color:#173d79}@media(max-width:560px){.project-structure-section{padding:15px}.structure-toolbar{display:grid;grid-template-columns:1fr}.structure-toolbar select{width:100%}.structure-chessboard{grid-template-columns:1fr}}

/* A building chessboard is read floor-by-floor; no cell colour is tied to sale status. */
.structure-toolbar>span{align-self:end;padding:9px 0;color:#50688e;font-size:var(--text-12)}.structure-chessboard{display:grid;gap:7px}.structure-floor-row{display:grid;grid-template-columns:58px minmax(0,1fr) 66px;gap:9px;align-items:stretch}.structure-floor-number{display:grid;align-content:center;justify-items:center;border-radius:7px;background:#e3e7ee;color:#354969}.structure-floor-number b{font:700 var(--text-20) Manrope;line-height:1}.structure-floor-number span{margin-top:3px;font-size:var(--text-12)}.structure-floor-units{display:grid;grid-template-columns:repeat(8,minmax(112px,1fr));gap:6px;overflow-x:auto;padding-bottom:1px}.structure-floor-row.pending .structure-floor-units{display:flex;align-items:center;padding:0 13px;border:1px dashed #cad1dc;border-radius:7px;background:#fbfcfd;color:#89999d;font-size:var(--text-12)}.structure-apartment{min-height:91px;padding:10px;border-radius:7px}.structure-apartment b{font-size:var(--text-14)}.structure-apartment span,.structure-apartment small{color:#556e97;font-size:var(--text-12);line-height:1.3}.structure-apartment strong{font-size:var(--text-12)}.structure-floor-source{align-self:center;color:#284677;font:600 var(--text-12) Inter;text-decoration:none}.structure-floor-source:hover{text-decoration:underline}@media(max-width:720px){.structure-floor-row{grid-template-columns:48px minmax(0,1fr)}.structure-floor-source{grid-column:2;justify-self:end}.structure-floor-units{grid-template-columns:repeat(8,minmax(105px,1fr))}}@media(max-width:560px){.structure-floor-row{grid-template-columns:42px minmax(0,1fr);gap:6px}.structure-floor-number b{font-size:var(--text-16)}.structure-floor-units{grid-template-columns:repeat(8,minmax(98px,1fr))}.structure-floor-source{font-size:var(--text-12)}}

/* Compact layout catalogue: the first useful presentation before a full floor plan exists. */
.structure-room-groups{border-top:1px solid #d6dbe4}.structure-room-group{border-bottom:1px solid #d6dbe4;background:#fff}.structure-room-group summary{display:grid;grid-template-columns:minmax(160px,1fr) 130px 115px minmax(145px,180px);gap:12px;align-items:center;padding:15px 3px;cursor:pointer;list-style:none;color:#24344e;font-size:var(--text-12)}.structure-room-group summary::-webkit-details-marker{display:none}.structure-room-group summary b{font:700 var(--text-14) Manrope}.structure-room-group summary span{color:#536b93}.structure-room-group summary .structure-count{justify-self:start;color:#08347c;font-style:normal;font-weight:600}.structure-room-group summary .structure-price{justify-self:end}.structure-apartment-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;padding:0 0 14px}.structure-apartment-list article{display:grid;gap:4px;padding:11px;border:1px solid #dce0e7;border-radius:7px;background:#fbfcfd}.structure-apartment-list b{color:#213452;font:700 var(--text-14) Manrope}.structure-apartment-list span{color:#708188;font-size:var(--text-12);line-height:1.35}.structure-apartment-list a{margin-top:2px;color:#173b75;font:600 var(--text-12) Inter;text-decoration:none}@media(max-width:700px){.structure-room-group summary{grid-template-columns:1fr auto;gap:7px 12px}.structure-room-group summary .structure-price{grid-column:1;justify-self:start}.structure-room-group summary .structure-count{grid-column:2;grid-row:1 / span 2}.structure-apartment-list{grid-template-columns:1fr}}
.structure-apartment-list strong{color:#12366f;font:700 var(--text-12) Manrope}
.structure-apartment-open{display:grid;gap:4px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.structure-apartment-open i{margin-top:2px;color:#173b75;font:600 var(--text-12) Inter;font-style:normal}.structure-apartment-open:hover b,.structure-apartment-open:hover i{text-decoration:underline}
.market-admin-page{max-width:1180px}.admin-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;padding:29px 31px;border-radius:12px;background:linear-gradient(120deg,#213753,#254477);color:#fff}.admin-hero h2{margin:7px 0 10px;font:700 var(--text-24)/1.18 Manrope}.admin-hero p{margin:0;max-width:720px;color:#d6dfee;font-size:var(--text-14);line-height:1.6}.admin-hero-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.admin-hero-actions .secondary{background:#fff;color:#243f6a;border-color:#fff}.admin-registry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-registry-card{display:block;min-height:188px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s}.admin-registry-card:hover{border-color:#8c9fbe;box-shadow:0 6px 15px #17294612}.admin-registry-card>b{display:block;color:#22457c;font:700 var(--text-24) Manrope}.admin-registry-card h3{margin:7px 0 6px;color:#243550;font:700 var(--text-16) Manrope}.admin-registry-card p{margin:0;color:#556e97;font-size:var(--text-12);line-height:1.45}.admin-registry-card span{display:block;margin-top:15px;color:#173b75;font:700 var(--text-12) Inter}.admin-check-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:9px;overflow:hidden}.admin-check-grid>div{padding:16px;border-right:1px solid var(--line);background:#fff}.admin-check-grid>div:last-child{border-right:0}.admin-check-grid b,.admin-check-grid span{display:block}.admin-check-grid b{color:#b06b27;font:700 var(--text-24) Manrope}.admin-check-grid span{margin-top:4px;color:#526a91;font-size:var(--text-12);line-height:1.35}.admin-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.admin-roadmap span{padding:12px;border:1px solid #d8dee7;border-radius:7px;background:#f2f4f8;color:#4b6286;font-size:var(--text-12);line-height:1.45}.admin-roadmap b{display:block;margin-bottom:4px;color:#283c5b}@media(max-width:900px){.admin-hero{grid-template-columns:1fr}.admin-registry-grid{grid-template-columns:repeat(2,1fr)}.admin-check-grid,.admin-roadmap{grid-template-columns:repeat(2,1fr)}.admin-check-grid>div:nth-child(2){border-right:0}.admin-check-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:560px){.admin-hero{padding:23px}.admin-hero h2{font-size:var(--text-24)}.admin-registry-grid,.admin-check-grid,.admin-roadmap{grid-template-columns:1fr}.admin-check-grid>div{border-right:0;border-bottom:1px solid var(--line)}.admin-check-grid>div:last-child{border-bottom:0}}
.market-admin-page{max-width:1180px}.admin-command-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:13px 16px;border:1px solid #d8dee7;border-radius:9px;background:#f4f6fa}.admin-command-bar>div:first-child{display:grid;gap:3px}.admin-command-bar b{color:#283853;font:700 var(--text-14) Manrope}.admin-command-bar span{color:#536c94;font-size:var(--text-12)}.admin-command-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-command-actions .primary{padding:9px 12px;font-size:var(--text-12)}.admin-command-actions .link-button{padding:7px 3px}.market-admin-page .admin-overview-section{margin-top:14px;margin-bottom:14px;padding:16px}.market-admin-page .admin-overview-section .section-head{margin-bottom:12px}.market-admin-page .admin-overview-section .section-head h2{font-size:var(--text-16)}.market-admin-page .admin-overview-section .section-head p{margin-top:3px}.market-admin-page .admin-registry-card{min-height:126px;padding:13px}.market-admin-page .admin-registry-card>b{font-size:var(--text-24)}.market-admin-page .admin-registry-card h3{margin:4px 0;color:#243550;font-size:var(--text-14)}.market-admin-page .admin-registry-card p{font-size:var(--text-12)}.market-admin-page .admin-registry-card span{margin-top:9px;font-size:var(--text-12)}.market-admin-page .admin-check-grid>div{padding:12px 14px}.market-admin-page .admin-check-grid b{font-size:var(--text-24)}@media(max-width:900px){.admin-command-bar{align-items:flex-start;flex-direction:column}.admin-registry-grid{grid-template-columns:repeat(2,1fr)}.admin-check-grid,.admin-roadmap{grid-template-columns:repeat(2,1fr)}.admin-check-grid>div:nth-child(2){border-right:0}.admin-check-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:560px){.admin-command-actions{width:100%}.admin-registry-grid,.admin-check-grid,.admin-roadmap{grid-template-columns:1fr}.admin-check-grid>div{border-right:0;border-bottom:1px solid var(--line)}.admin-check-grid>div:last-child{border-bottom:0}}

/* Apartment type summary inside compact project tiles. */
.market-card-apartments{display:grid;gap:5px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}
.market-card-apartments>div{display:grid;grid-template-columns:minmax(75px,1fr) auto auto;gap:7px;align-items:baseline;font-size:var(--text-12);line-height:1.3;color:#536c94}

/* The regional ranking already contains the distribution, so analytics uses two useful widgets. */
.commissioning-widgets{grid-template-columns:1.05fr 1fr}

.market-card-apartments b{color:#293850;font-weight:700}
.market-card-apartments strong{color:#234275;font-weight:700;text-align:right}
/* The delivery tabs follow the catalogue heading directly, without a dead gap under the map widget. */
.market-catalog-page .market-delivery-filter{margin-top:0}
.market-delivery-filter{justify-content:space-between}.market-delivery-filter .market-delivery-options{display:flex;align-items:center;gap:14px}.market-delivery-filter .market-delivery-options>div{display:flex;align-items:center;gap:16px}.market-delivery-filter #projectCatalogDisplay{margin-left:auto}.market-delivery-filter #projectCatalogDisplay .catalog-display-controls{margin:0}

/* Apartment placeholders keep the plan and facts inside one visual rather than a photo badge. */
.market-result-photo.apartment-placeholder>span{display:none}
.market-card-developer-identity{display:flex;align-items:center;gap:8px;margin:0 0 10px;min-width:0;color:#263957}.market-card-developer-identity img{width:31px;height:31px;object-fit:contain;flex:0 0 auto}.market-card-developer-identity b{font:700 var(--text-12)/1.25 Manrope;overflow-wrap:anywhere}
.catalog-ad-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;padding:17px 24px;overflow:hidden;border:0;border-radius:12px;background:linear-gradient(112deg,#0a2b60,#08347c 56%,#0d439b);box-shadow:0 8px 20px #0833782e;color:#fff}.catalog-ad-banner:before{position:absolute;inset:auto -22px -56px auto;width:180px;height:180px;border:28px solid #ffffff1a;border-radius:50%;content:""}.catalog-ad-banner div{position:relative;display:grid;gap:3px}.catalog-ad-banner small{color:#b8cdf0;font:700 var(--text-12) Inter;letter-spacing:.12em;text-transform:uppercase}.catalog-ad-banner b{font:700 var(--text-20) Manrope;color:#fff}.catalog-ad-banner span{font-size:var(--text-12);color:#e0eafa}.catalog-ad-banner em{position:relative;padding:11px 15px;border-radius:8px;background:#fff;color:#083379;font:700 var(--text-12) Inter;font-style:normal;white-space:nowrap;box-shadow:0 3px 10px #02173930;transition:transform .15s ease,background .15s ease}.catalog-ad-banner:hover em{transform:translateX(2px);background:#e8f0fe}@media(max-width:560px){.catalog-ad-banner{align-items:flex-start;flex-direction:column;gap:11px;padding:17px}.catalog-ad-banner b{font-size:var(--text-16)}}

/* Compact project card: content determines height; do not create empty space
   merely to align unrelated cards in the catalogue grid. */
.market-grid .market-card{display:block;min-width:0}
.market-grid .market-card-body{display:block;padding:12px;min-height:0}
.market-grid .market-card>img{aspect-ratio:16/9;height:auto;object-fit:cover}
.home-project-thumbs{display:flex;gap:6px;padding:7px 7px 0;background:#fff}.home-project-thumbs img{width:54px;height:38px;object-fit:cover;border-radius:5px}
.market-grid .market-card h3{display:-webkit-box;overflow:hidden;margin:8px 0 4px;font:700 16px/20px Manrope,-apple-system,sans-serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.market-grid .market-card .market-developer{overflow:hidden;margin:0 0 4px;font:600 12px/16px Inter,Arial,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.market-grid .market-card-body>p:not(.market-developer){display:-webkit-box;overflow:hidden;margin:0;color:#536c94;font:400 12px/16px Inter,Arial,sans-serif;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.market-grid .market-card-apartments{min-height:0;margin-top:10px;padding-top:8px}
@media(max-width:560px){.market-card{border-radius:10px}.market-card-body{padding:12px}.market-card h3{font-size:var(--text-16);line-height:1.3}.market-card-apartments{min-height:0;gap:7px;margin-top:10px;padding-top:10px}.market-card-apartments>div{grid-template-columns:minmax(116px,1fr) auto;gap:3px 10px;align-items:center}.market-card-apartments b{grid-row:1 / span 2}.market-card-apartments span,.market-card-apartments strong{grid-column:2;justify-self:end;white-space:nowrap}.market-card footer{margin-top:11px;padding-top:1px;flex-wrap:wrap}.market-card footer span:last-child{margin-left:auto}}

.market-room-group-facts{display:grid;gap:3px;margin:9px 0 0;color:#536c94;font-size:var(--text-12)}.market-room-group-facts b{color:#0b367a;font:700 var(--text-14) Manrope}

/* Keep catalogue images at a consistent fixed size; card height follows content. */
.with-linked-apartments{min-height:0}
.market-result-photo.market-gallery-card{align-self:start}
.market-gallery-card .gallery-main{flex:none;height:158px}
.market-gallery-card.no-photo{background:#f4f6f8}
.market-gallery-card.no-photo .gallery-main{object-fit:contain;padding:22px}

.market-catalog-top{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px;align-items:start}.market-catalog-top .page-head{margin:0}.market-catalog-count{display:block;margin-top:7px;color:#546c94;font:600 var(--text-14) Inter}.market-mini-map{position:relative;isolation:isolate;overflow:hidden;min-height:58px;border:0;border-radius:12px;background:linear-gradient(45deg,#f6edd6 44%,#d3dae6 44% 63%,#f6edd6 63%);cursor:pointer}.market-mini-map::before,.market-mini-map::after{content:'';position:absolute;inset:-35% -10%;z-index:-1;background:repeating-linear-gradient(135deg,transparent 0 17px,#e8c35d 18px 20px,transparent 21px 44px);opacity:.8}.market-mini-map::after{transform:rotate(65deg)}.market-mini-map b{position:relative;display:inline-block;margin-top:12px;padding:8px 12px;border-radius:6px;background:#fff;color:#0968bc;font:700 var(--text-12) Inter;box-shadow:0 2px 7px #17294622}.map-pin{position:absolute;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#146bd8;box-shadow:0 1px 3px #17294640}.pin-one{left:22px;top:13px}.pin-two{right:27px;top:12px}.pin-three{right:45px;bottom:10px}.market-delivery-filter{display:flex;align-items:center;gap:14px;margin:14px 0 18px;color:#50678d;font:700 var(--text-12) Inter}.market-delivery-filter>div{display:flex;gap:16px}.market-delivery-filter .delivery-link{border:0;border-radius:0;background:transparent;color:#455a7c;padding:0;font:600 var(--text-12) Inter;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.market-delivery-filter .delivery-link:hover,.market-delivery-filter .delivery-link.active{background:transparent;color:#143873}.market-delivery-filter .delivery-link.active{text-decoration:none;font-weight:700}@media(max-width:600px){.market-catalog-top{grid-template-columns:1fr}.market-mini-map{width:100%;min-height:70px}.market-mini-map b{margin-top:16px}}
.project-admin-link{display:inline-grid;place-items:center;width:23px;height:23px;margin-left:8px;padding:0;vertical-align:middle;border:1px solid #cbd2dd;border-radius:5px;background:#f7f9fb;color:#485d80;font:700 var(--text-16) Inter;cursor:pointer}.project-admin-link:hover{border-color:#728ab0;background:#eaeef5;color:#173b76}

/* Keep delivery facts at the bottom and make the developer column a distinct area. */
.market-result-main{display:flex;flex-direction:column}
.market-result-main .market-result-footer{margin-top:auto}
/* In project rows, availability and completion are decision facts; the short
   editorial description follows them as secondary context. */
.market-result-main:has(.market-card-description) .project-apartment-summary,.market-result-main:has(.market-card-description) .project-start-price{order:3}
.market-result-main:has(.market-card-description) .market-result-footer{order:4;margin-top:12px}
.market-result-main .market-card-description{order:5;margin:9px 0 0;color:#4f678d;font-size:var(--text-12);line-height:1.4}
.market-developer-aside{margin:-1px -1px -1px 0;padding:14px 14px 11px;border-left:1px solid #cfd6e0;border-radius:0 10px 10px 0;background:#f7f9fb}
@media(max-width:780px){.market-developer-aside{margin:0;padding:10px 0;border-left:0;border-radius:0;background:transparent}}
/* Counts stay compact, but should be read before the card subtitle. */
.market-category-count{top:50%;right:18px;transform:translateY(-50%);font:700 var(--text-20)/1.2 Manrope}

/* Public overflow navigation belongs after the account control, not in the
   primary link row.  The menu grows as links no longer fit in that row. */
.top-actions .public-menu-trigger{display:grid;place-items:center;width:30px;height:var(--control-sm);padding:0;font:700 var(--text-16)/1 Inter}
.top-actions .public-nav-more .dropdown-list{right:0;left:auto;min-width:210px}
@media(max-width:760px){body:not(.admin-mode) .top-actions .public-nav-more .dropdown-list{min-width:min(280px,calc(100vw - 28px))}}

/* Overflow is decided by JavaScript from the actual remaining header width,
   rather than fixed screen breakpoints. */
.top-actions .public-nav-more{display:block}
.header-nav>.nav-item[hidden],.top-actions .public-nav-more[hidden],#publicMoreMenu .nav-item[hidden]{display:none!important}
body:not(.admin-mode) .header-nav>.public-nav-secondary,body:not(.admin-mode) .header-nav>.public-nav-optional{display:flex}
.top-actions .public-nav-more .public-more-secondary{display:flex}

/* Editorial workflow belongs in the admin area, not in the visitor catalogue. */
.market-catalog-page #commercialGrid + .market-section{display:none}

/* The header intentionally owns the public menu layer; its popup must not be
   clipped by the compact top bar. */
.topbar{overflow:visible!important}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.site-header .topbar{position:relative;top:auto;max-width:1280px;height:64px;margin:0 auto;padding:0 30px;box-sizing:border-box;border:0}
.site-header a.header-brand{color:#172946!important;text-decoration:none!important}.site-header .header-nav a.nav-item{display:flex;width:auto;flex:none;align-items:center;gap:5px;padding:8px 9px;color:#455a7b!important;text-decoration:none!important;font:600 var(--text-12) Inter,Arial,sans-serif;white-space:nowrap}.site-header .header-nav a.nav-item:hover,.site-header .header-nav a.nav-item.active{background:#e8ecf3;color:#1d3c6e!important}.site-footer-nav a{color:#d5dbe4!important;text-decoration:none!important;font:600 var(--text-12) Inter,Arial,sans-serif}.site-footer-nav a:hover{color:#8cabdd!important;text-decoration:none!important}
@media(max-width:1280px){.site-header .topbar{margin:0}}@media(max-width:760px){.site-header .topbar{margin:0;padding:0 14px}}
/* The shared chrome follows the active page container, so its left and right
   edges stay aligned with catalogues and project passports. */
body:has(#view>.market-catalog-page) .site-header .topbar,body:has(#view>.market-catalog-page) .site-footer-inner,body:has(#view>.page-skeleton-catalog) .site-header .topbar,body:has(#view>.page-skeleton-catalog) .site-footer-inner{max-width:1080px}
body:has(#view>.project-page-refined) .site-header .topbar,body:has(#view>.project-page-refined) .site-footer-inner,body:has(#view>.page-skeleton-detail) .site-header .topbar,body:has(#view>.page-skeleton-detail) .site-footer-inner{max-width:1120px}
@media(min-width:761px){body.admin-mode .page{max-width:none;width:100%;box-sizing:border-box}}
.top-actions .public-nav-more{z-index:50}
.top-actions .public-nav-more .dropdown-list{top:calc(100% + 8px);z-index:60}

/* On phones the actual available width is measured in app.js.  Do not hide
   every link in CSS first, otherwise the overflow controller cannot move
   them into the burger menu. */
@media(max-width:760px){
  body:not(.admin-mode) .header-nav>.nav-item{display:flex}
}
/* The public header must not create a horizontal page scroll on narrow phones. */
@media(max-width:400px){
  .site-header .topbar{padding:0 10px;gap:4px}
  .header-brand .brand-lockup{width:104px}
  .top-actions{gap:4px}
  .market-preferences{gap:2px}
  .market-preferences select{padding-left:5px;padding-right:15px}
  .market-preferences select:first-child{width:50px}
  .market-preferences select:nth-child(2){width:62px}
}
@media(max-width:520px){
  .site-header .topbar{height:56px;padding:0 12px;gap:6px}
  .header-brand .brand-lockup{width:108px;gap:0}
  .header-brand .brand-wordmark{font-size:var(--text-16)}
  .header-brand{padding:0 2px}
  .top-actions{gap:6px}
  .top-actions>.market-preferences{display:none}
  .top-actions .public-nav-more .dropdown-list>.market-preferences{display:flex;padding:8px 7px 10px;border-bottom:1px solid var(--line);gap:7px}
  .top-actions .public-nav-more .dropdown-list>.market-preferences select{flex:1;max-width:none;height:var(--control-sm);font-size:var(--text-12)}
}
/* On the phone the home page starts with a choice of scenario.  Filters stay
   in their respective catalogues instead of taking over the first screen. */
@media(max-width:560px){
  .market-home-hero{min-height:0;padding:24px 22px!important}
  .market-home-hero .market-eyebrow{margin:0 0 10px!important;font-size:var(--text-12)!important}
  .market-home-hero h1{margin:0!important;font-size:var(--text-32)!important;line-height:1.12}
  .market-home-hero>div>p:not(.market-eyebrow){display:none}
  .market-home-hero .market-search-panel{display:none}
  .market-categories{margin-top:12px}
  .market-categories [data-view="marketCabinet"]{display:none}
}
/* Developer marks in catalogue cards keep their own proportions.  The card
   does not add a second white frame, background, or fixed logo box. */
.market-result-card .market-developer-aside>img{width:auto;height:auto;max-width:76px;max-height:42px;padding:0;border:0;border-radius:0;background:transparent;object-fit:contain}
@media(max-width:780px){.market-result-card .market-developer-aside>img{max-width:54px;max-height:38px}}
/* Catalogue card: the save action belongs to the photo; developer contacts
   remain readable and tappable on narrow screens. */
.market-gallery-card>.market-heart{top:8px;right:8px;z-index:3;background:#ffffffeb;color:#284675;box-shadow:0 1px 5px #17294624}
.market-gallery-card .gallery-arrow,.market-gallery-card>.market-heart{background:#ffffffb8;box-shadow:0 1px 5px #1729461c}
@media(max-width:560px){
  .market-developer-aside{grid-template-columns:54px minmax(0,1fr);gap:7px 10px}
  .market-developer-aside>img{grid-row:1 / span 2}
  .market-developer-aside>b,.market-developer-aside .link-button{grid-column:2;min-width:0}
  .market-developer-aside .market-phone{grid-column:1 / -1;grid-row:auto;width:100%;margin:8px 0 0;text-align:center}
  .market-developer-aside>strong{grid-column:1 / -1;margin-top:2px}
  .market-result-photo.market-gallery-card{height:202px;min-height:202px}
  .project-apartment-summary>div{grid-template-columns:minmax(94px,1fr) auto auto;gap:4px 8px;min-height:25px;align-items:center}
  .project-apartment-summary b,.project-apartment-summary span,.project-apartment-summary small{grid-row:1;white-space:nowrap}
  .project-apartment-summary b{grid-column:1}
  .project-apartment-summary span{grid-column:2;justify-self:end;text-align:right}
  .project-apartment-summary small{grid-column:3;justify-self:end;align-self:center;text-align:right}
  .project-apartment-summary strong{display:none}
}

/* Compact, actionable launch sequence for the admin overview. */
.admin-launch-plan .section-head{align-items:flex-start}
.content-collection-intro{background:#f4f7fb}.content-collection-intro h2{margin:5px 0 8px}.content-collection-intro p:last-child{max-width:760px;color:#4d648a}.content-collection-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.content-collection-flow article{position:relative;padding:18px;border:1px solid #dce1e8;border-radius:10px;background:#fff}.content-collection-flow b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e3e9f3;color:#17376b}.content-collection-flow h3{margin:12px 0 6px;color:#21314a;font:700 var(--text-16) Manrope}.content-collection-flow p,.content-quality-list p{margin:0;color:#4d648a;font-size:var(--text-12);line-height:1.5}.content-quality-list{display:grid;gap:10px}.content-next-steps{display:grid;gap:10px;margin:0;padding-left:22px;color:#36465f;line-height:1.5}@media(max-width:850px){.content-collection-flow{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.content-collection-flow{grid-template-columns:1fr}}
.launch-plan-list{display:grid;border:1px solid #e1e5eb;border-radius:8px;overflow:hidden}
.launch-plan-list article{display:grid;grid-template-columns:34px minmax(180px,1fr) auto;gap:11px;align-items:center;padding:10px 12px;border-bottom:1px solid #e6eaef;background:#fff}
.launch-plan-list article:last-child{border-bottom:0}
.launch-plan-step{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e7ebf2;color:#214072;font:700 var(--text-12) Manrope}
.launch-plan-list strong{display:block;color:#243550;font:700 var(--text-12) Manrope}
.launch-plan-list p{margin:3px 0 0;color:#567099;font-size:var(--text-12);line-height:1.35}
.launch-plan-status{justify-self:end;padding:4px 7px;border-radius:999px;font:700 var(--text-12) Inter;white-space:nowrap}
.launch-plan-status.active{background:#e4eaf4;color:#173971}
.launch-plan-status.done{background:#e5efff;color:#225fac}
.launch-plan-status.pending{background:#eff1f5;color:#6b7c82}
.promotion-plan-page{max-width:1180px}.promotion-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;padding:24px;border-radius:12px;background:linear-gradient(135deg,#172843,#1b3a6d);color:#fff}.promotion-hero h2{max-width:760px;margin:5px 0 10px;font:700 var(--text-24)/1.18 Manrope,sans-serif}.promotion-hero p{max-width:760px;margin:0;color:#d6dfee;line-height:1.55}.promotion-hero .market-eyebrow{color:#8fabd8}.promotion-hero-note{align-self:center;padding:16px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.08)}.promotion-hero-note b{display:block;margin-bottom:7px;font:700 var(--text-12) Manrope}.promotion-hero-note span{font-size:var(--text-12);line-height:1.45}.promotion-audiences,.promotion-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.promotion-audiences article,.promotion-phases article{padding:14px;border:1px solid #dce1e8;border-radius:9px;background:#fbfcfd}.promotion-audiences b{color:#213e6d;font:700 var(--text-12) Manrope}.promotion-audiences p,.promotion-phases p{margin:7px 0 0;color:#50678d;font-size:var(--text-12);line-height:1.45}.promotion-channel-list{display:grid;border:1px solid #e1e5eb;border-radius:8px;overflow:hidden}.promotion-channel-list article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:12px 14px;border-bottom:1px solid #e6eaef}.promotion-channel-list article:last-child{border-bottom:0}.promotion-channel-list>b{color:#163a75;font:700 var(--text-16) Manrope}.promotion-channel-list strong{color:#243550;font:700 var(--text-14) Manrope}.promotion-channel-list p{margin:3px 0 0;color:#536b93;font-size:var(--text-12);line-height:1.4}.promotion-phases article{position:relative}.promotion-phases span{color:#516a91;font:700 var(--text-12) Inter}.promotion-phases h3{margin:7px 0 0;color:#263854;font:700 var(--text-14) Manrope}.promotion-phases article>b{display:inline-block;margin-top:12px;color:#163a75;font:700 var(--text-12) Inter}.promotion-two-column{display:grid;grid-template-columns:1fr 1fr;gap:36px}.promotion-content-list,.promotion-kpi-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.promotion-content-list li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding-bottom:8px;border-bottom:1px solid #e6eaef;color:#51698f;font-size:var(--text-12);line-height:1.4}.promotion-content-list b{color:#233f6c;font:700 var(--text-12) Manrope}.promotion-kpi-list li{padding-left:17px;position:relative;color:#4f678d;font-size:var(--text-12);line-height:1.35}.promotion-kpi-list li:before{content:'✓';position:absolute;left:0;color:#173c77;font-weight:700}.promotion-next{display:flex;align-items:center;justify-content:space-between;gap:18px}.promotion-next h2{margin:0;color:#263854;font-size:var(--text-16)}.promotion-next p{max-width:750px;margin:5px 0 0;color:#546c94;font-size:var(--text-12);line-height:1.45}@media(max-width:800px){.promotion-hero,.promotion-two-column{grid-template-columns:1fr}.promotion-audiences,.promotion-phases{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.promotion-audiences,.promotion-phases{grid-template-columns:1fr}.promotion-hero{padding:18px}.promotion-hero h2{font-size:var(--text-20)}.promotion-next{align-items:flex-start;flex-direction:column}}
.admin-idea-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-idea-groups article{padding:15px 16px;border:1px solid #dce1e8;border-radius:8px;background:#fbfcfd}
.admin-idea-groups h3{margin:0 0 10px;color:#24395a;font:700 var(--text-14) Manrope}
.admin-idea-groups ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.admin-idea-groups li{position:relative;padding-left:15px;color:#4d648a;font-size:var(--text-12);line-height:1.45}
.admin-idea-groups li::before{content:'•';position:absolute;left:1px;color:#174082;font-weight:700}
@media(max-width:650px){.admin-idea-groups{grid-template-columns:1fr}}
@media(max-width:560px){.launch-plan-list article{grid-template-columns:28px minmax(0,1fr);gap:8px}.launch-plan-status{grid-column:2;justify-self:start}.launch-plan-list p{font-size:var(--text-12)}}
.promotion-paid-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.promotion-paid-grid article{padding:15px;border:1px solid #d7dee8;border-radius:9px;background:#f7f9fb}.promotion-paid-grid h3{margin:0;color:#213e6d;font:700 var(--text-14) Manrope}.promotion-paid-grid p{margin:7px 0 0;color:#50678d;font-size:var(--text-12);line-height:1.48}@media(max-width:800px){.promotion-paid-grid{grid-template-columns:1fr}}
.project-page-refined .project-photo-hero .project-hero-completion{margin:0 0 10px;color:#fff;font:600 var(--text-14)/1.35 Inter,Arial,sans-serif;text-shadow:0 1px 2px #0008}.project-page-refined .project-photo-hero .market-address{margin:0;color:#fff!important;font:600 var(--text-14)/1.45 Inter,Arial,sans-serif;text-shadow:0 1px 2px #0008}
@media(max-width:560px){.project-page-refined .project-photo-hero{min-height:0;overflow:visible;background:transparent;color:#172b4a}.project-page-refined .project-photo-hero .project-detail-gallery{position:relative;inset:auto}.project-page-refined .project-photo-hero .detail-gallery-main{height:240px;border-radius:var(--radius-md)}.project-page-refined .project-photo-hero .detail-gallery-main:after{display:none}.project-page-refined .project-photo-hero .detail-gallery-thumbs{display:none}.project-page-refined .project-photo-hero .project-hero-copy{position:static;display:flex;min-height:0;max-width:none;padding:var(--space-4) 0 0;color:#172b4a}.project-page-refined .project-photo-hero h1,.project-page-refined .project-photo-hero .market-detail h1{margin:0 0 var(--space-2);color:#172b4a;text-shadow:none}.project-page-refined .project-photo-hero .project-hero-completion{margin:0 0 var(--space-2);color:#415473;text-shadow:none}.project-page-refined .project-photo-hero .market-address,.project-page-refined .project-photo-hero .market-developer,.project-page-refined .project-photo-hero .market-developer .link-button{color:#415473!important;text-shadow:none}.project-page-refined .project-photo-hero .market-developer{margin:0 0 var(--space-2)}.project-page-refined .project-photo-hero .developer-with-logo img{border-color:#dce0e7}.project-page-refined .project-photo-hero .project-price{margin:var(--space-3) 0}.project-page-refined .project-photo-hero .project-price small,.project-page-refined .project-photo-hero .project-price span{color:#5b76a1}.project-page-refined .project-photo-hero .project-price strong{color:#172b4a}.project-page-refined .project-photo-hero .market-actions .link-button{color:#1d3d71}.project-page-refined .project-photo-hero .gallery-arrow{display:none}}
.market-directory-note{margin:0 0 14px;padding:11px 13px;border:1px solid #d8dee7;border-radius:8px;background:#f5f7fb;color:#445879;font-size:var(--text-12);line-height:1.5}.market-directory-card{grid-template-columns:86px minmax(0,1fr);align-items:stretch}.market-directory-mark{display:grid;place-items:center;background:#eff2f7;color:#143b79;font:700 var(--text-32) Manrope}.market-directory-card .market-result-main{padding:17px 19px}.market-directory-card .market-result-footer{margin-top:12px}@media(max-width:620px){.market-directory-card{grid-template-columns:64px minmax(0,1fr)}.market-directory-mark{font-size:var(--text-24)}.market-directory-card .market-result-main{padding:14px}}

/* Phone cards are read at arm's length: keep every decision-making fact above 11px. */
@media(max-width:560px){
  .market-section-head h2{font-size:var(--text-20)}
  .market-section-head>div p{font-size:var(--text-14);line-height:1.4}
  .market-section-head button{font-size:var(--text-14)}
  .market-card-body{padding:15px}
  .market-card h3{font-size:var(--text-20);line-height:1.25;margin:4px 0 8px}
  .market-card p{font-size:var(--text-14);line-height:1.45;margin:5px 0}
  .market-card .market-chip{padding:5px 8px;font-size:var(--text-12)}
  .market-card-apartments{gap:9px;margin-top:13px;padding-top:12px}
  .market-card-apartments>div{font-size:var(--text-12);line-height:1.35}
  .market-card footer{font-size:var(--text-12);line-height:1.4}
}

/* Price rows follow one consistent reading direction: layout and area, then price. */
.market-card-apartments>div,.project-apartment-summary>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:4px 0;border-bottom:1px dotted #d4d9e2}
.market-card-apartments>div:last-child,.project-apartment-summary>div:last-child{border-bottom:0}
.market-card-apartments .market-apartment-type,.project-apartment-summary .project-apartment-type{min-width:0;color:#536c94}
.market-card-apartments .market-apartment-type b{color:#1f3250;font:600 14px/20px Inter,Arial,sans-serif;white-space:nowrap}
.market-card-apartments .market-apartment-type,.project-apartment-summary .project-apartment-type{font:400 12px/16px Inter,Arial,sans-serif}
.project-apartment-summary .project-apartment-type b{color:#1f3250;font:600 12px/16px Inter,Arial,sans-serif;white-space:nowrap}
.market-card-apartments>div strong,.project-apartment-summary>div strong{display:block!important;grid-column:2!important;grid-row:auto!important;justify-self:end;color:#172946;font:600 14px/20px Inter,Arial,sans-serif;white-space:nowrap;text-align:right}
@media(max-width:560px){
  .market-card-apartments>div,.project-apartment-summary>div{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;min-height:0}
  .market-card-apartments .market-apartment-type,.project-apartment-summary .project-apartment-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-12)}
}

/* A housing photo should show the building, not read as a narrow banner. */
.market-grid .market-card>img{height:210px}
@media(max-width:560px){.market-grid .market-card>img{height:220px}}

/* The catalogue keeps either a dense comparable list or the same card rhythm as home. */
.catalog-display-controls{display:flex;align-items:center;gap:5px;margin:0 0 12px;color:#5a75a0;font-size:var(--text-12)}.catalog-display-controls>span{margin-right:3px}.catalog-display-controls button{border:1px solid #d7dce5;border-radius:6px;background:#fff;color:#3e506e;padding:7px 9px;font:600 var(--text-12) Inter;cursor:pointer}.catalog-display-controls button.active{border-color:#869bbd;background:#e8edf5;color:#12356c}.market-catalog-card-grid{margin-top:0}.market-catalog-card-grid .market-card{min-width:0}@media(max-width:560px){.catalog-display-controls{display:none}}

/* Full-screen photo review is available from the project page gallery. */
dialog:has(.project-gallery-modal){width:min(1180px,calc(100vw - 32px));max-width:none;padding:14px;background:#161d27;color:#fff}
dialog:has(.project-gallery-modal)::backdrop{background:#0f131ad9}
dialog:has(.project-gallery-modal) .dialog-close{z-index:3;right:16px;top:12px;width:36px;height:36px;border-radius:50%;background:#ffffffeb;color:#182740;font-size:var(--text-32)}
.gallery-main{cursor:pointer}.project-gallery-modal{display:grid;gap:10px}.project-gallery-modal-image{position:relative;display:grid;place-items:center;min-height:calc(100vh - 170px);max-height:calc(100vh - 100px);background:#0d1016}.project-gallery-modal-image>img{display:block;max-width:100%;max-height:calc(100vh - 170px);object-fit:contain}.project-gallery-modal-image>span{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:6px 9px;border-radius:6px;background:#0f1723db;color:#fff;font:700 var(--text-12) Inter}.project-gallery-modal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:#ffffffed;color:#1b2940;font-size:var(--text-32);line-height:1;cursor:pointer}.project-gallery-modal-arrow.prev{left:14px}.project-gallery-modal-arrow.next{right:14px}.project-gallery-modal-thumbs{display:flex;justify-content:center;gap:7px;overflow:auto;padding:0 2px}.project-gallery-modal-thumbs button{width:62px;height:48px;flex:0 0 auto;overflow:hidden;padding:0;border:2px solid transparent;border-radius:5px;background:#2c394d;cursor:pointer}.project-gallery-modal-thumbs button.active{border-color:#3963a6}.project-gallery-modal-thumbs img{width:100%;height:100%;object-fit:cover}@media(max-width:560px){dialog:has(.project-gallery-modal){width:calc(100vw - 16px);padding:8px}.project-gallery-modal-image{min-height:calc(100vh - 128px)}.project-gallery-modal-image>img{max-height:calc(100vh - 128px)}.project-gallery-modal-arrow{width:36px;height:36px;font-size:var(--text-24)}.project-gallery-modal-arrow.prev{left:8px}.project-gallery-modal-arrow.next{right:8px}.project-gallery-modal-thumbs button{width:54px;height:42px}}

/* Public catalogue: a single responsive source of truth. */
.project-offers-section{container-type:inline-size;padding:20px;border:1px solid #dce1e8;border-radius:11px;background:#fff}.project-offer-groups{border-top:1px solid #dce0e7}.project-offer-group{border-bottom:1px solid #dce0e7}.project-offer-group summary{display:grid;grid-template-columns:minmax(140px,1fr) 120px minmax(170px,1fr) auto;gap:16px;align-items:center;padding:16px 4px;cursor:pointer;list-style:none;color:#4e658b;font-size:var(--text-12)}.project-offer-group summary::-webkit-details-marker{display:none}.project-offer-group summary b{color:#1f3250;font:700 var(--text-14) Manrope}.project-offer-group summary span{justify-self:end;white-space:nowrap}.project-offer-group summary strong{justify-self:end;color:#182945;font:700 var(--text-14) Manrope}.project-offer-group summary em{justify-self:end;color:#08347c;font:600 var(--text-12) Inter;font-style:normal;white-space:nowrap}.project-offer-list{padding:0 0 12px}.project-offer-row{display:grid;grid-template-columns:minmax(160px,1fr) 100px 110px minmax(150px,1fr) 36px;gap:16px;align-items:center;width:100%;padding:12px 4px;border:0;border-top:1px solid #eceff3;background:#fff;color:#273752;text-align:left;cursor:pointer}.project-offer-row:hover{background:#f4f6fa}.project-offer-row span{color:#096bd4;font:600 var(--text-14) Inter}.project-offer-row small{color:#75838b;font-size:var(--text-12)}.project-offer-row b{color:#485e81;font:600 var(--text-12) Inter}.project-offer-row strong{justify-self:end;color:#172946;font:700 var(--text-14) Manrope}.project-offer-thumb{width:36px;height:36px;object-fit:cover;border-radius:5px;background:#eef0f3}@container (max-width:900px){.project-offer-group summary{grid-template-columns:minmax(0,1fr) auto;gap:7px 18px}.project-offer-group summary b{grid-column:1;grid-row:1}.project-offer-group summary span{grid-column:2;grid-row:1}.project-offer-group summary strong{grid-column:1;grid-row:2;justify-self:start}.project-offer-group summary em{grid-column:2;grid-row:2}}@media(max-width:700px){.project-offers-section{padding:15px}.project-offer-group summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.project-offer-group summary span{grid-column:1;justify-self:start}.project-offer-group summary strong{grid-column:2;grid-row:1 / span 2;align-self:center}.project-offer-group summary em{grid-column:1}.project-offer-row{grid-template-columns:minmax(0,1fr) auto 34px;gap:5px 10px;padding:11px 2px}.project-offer-row small{grid-column:1}.project-offer-row b{grid-column:2;grid-row:1}.project-offer-row strong{grid-column:2;grid-row:2}.project-offer-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-offer-thumb{grid-column:3;grid-row:1 / span 2;width:34px;height:34px}}

/* Public catalogue: a single responsive source of truth. */
.market-catalog-page{max-width:1180px}
body:has(#view>.market-catalog-page) .site-header .topbar,
body:has(#view>.market-catalog-page) .site-footer-inner,
body:has(#view>.page-skeleton-catalog) .site-header .topbar,
body:has(#view>.page-skeleton-catalog) .site-footer-inner{max-width:1180px}
.market-result-list,.developer-result-list{gap:var(--space-3)}
.market-result-card{border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-4)}
.market-result-main p,.market-result-main .market-card-description{font-size:var(--text-12);line-height:1.45}
.market-result-footer{font-size:var(--text-12);line-height:1.4}
.market-result-main h2{font-size:var(--text-20)}
.project-apartment-summary>div.without-price{grid-template-columns:minmax(0,1fr)!important}
.project-apartment-summary>div.without-price .project-apartment-type{grid-column:1!important;justify-self:start!important;text-align:left!important}
.project-apartment-more{display:inline-flex;width:max-content;border:0;background:transparent;color:#17396f;padding:6px 0 0;font:600 var(--text-12) Inter;cursor:pointer;text-align:left}

/* Photo moderation keeps the review queue, image and decision controls visible together. */
.candidate-linking-page{max-width:1180px}.candidate-linking-mode{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.candidate-thresholds,.candidate-queue-nav{display:flex;gap:var(--space-2)}.candidate-queue-nav{margin-left:auto}.candidate-linking-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:var(--space-4);align-items:start}.candidate-source-card{display:grid;gap:var(--space-3)}.candidate-source-card .section-head{margin-bottom:0}.candidate-source-card>img{display:none}.candidate-source-card>h2{margin:0;color:#233552;font:700 var(--text-20) Manrope}.candidate-source-card dl{display:grid;gap:var(--space-2);margin:0}.candidate-source-card dl div{display:grid;gap:4px}.candidate-source-card dt{color:#74878d;font:600 var(--text-12) Inter}.candidate-source-card dd{margin:0;color:#34445f;font:var(--text-14) Inter}.candidate-match-card{display:grid;gap:var(--space-3)}.candidate-match-card .section-head{margin-bottom:0}.candidate-match-list{display:grid;gap:var(--space-2)}.candidate-match-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;width:100%;min-height:64px;padding:var(--space-3);border:1px solid #dce1e8;border-radius:var(--radius-sm);background:#fff;color:#34445f;text-align:left;cursor:pointer}.candidate-match-option:hover,.candidate-match-option.active{border-color:#869bbd;background:#eef2f8}.candidate-match-rank{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#edf0f6;color:#254476;font:700 var(--text-12) Inter}.candidate-match-option>span:nth-child(2){display:grid;gap:4px;min-width:0}.candidate-match-option b{overflow:hidden;color:#233552;font:700 var(--text-14) Manrope;text-overflow:ellipsis;white-space:nowrap}.candidate-match-option small{overflow:hidden;color:#71848a;font:var(--text-12) Inter;text-overflow:ellipsis;white-space:nowrap}.candidate-match-option strong{color:#08347c;font:700 var(--text-16) Manrope}.candidate-mini-gallery{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.candidate-mini-gallery img{display:block;width:56px;height:42px;object-fit:cover;border-radius:var(--radius-sm);background:#edeff3}.candidate-source-card>.candidate-mini-gallery img{width:56px;height:42px}.candidate-project-search{display:grid;gap:var(--space-2);color:#384964;font:600 var(--text-12) Inter}.candidate-reverse-select{max-width:620px;margin-bottom:var(--space-3)}.candidate-project-search select{width:100%;height:var(--control-md);padding:0 var(--space-3);border:1px solid #d4dae3;border-radius:var(--radius-sm);background:#fff;color:#273853;font:var(--text-14) Inter}.candidate-linking-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:700px){.candidate-linking-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-linking-mode>button{min-height:44px}.candidate-thresholds{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.candidate-thresholds button{min-height:44px;padding:0 var(--space-2)}.candidate-queue-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0}.candidate-queue-nav button{min-height:44px}.candidate-queue-nav .primary{grid-column:1/-1}.candidate-linking-layout{grid-template-columns:1fr}.candidate-linking-actions{display:grid;grid-template-columns:1fr}.candidate-linking-actions button{min-height:44px}.candidate-match-option{grid-template-columns:28px minmax(0,1fr) auto;padding:var(--space-2)}}
@media(max-width:700px){.candidate-source-card .section-head,.candidate-match-card .section-head{display:none}.candidate-match-option{grid-template-columns:minmax(0,1fr) auto}.candidate-match-rank{display:none}}

.photo-moderation-page{max-width:1400px}.photo-moderation-layout{display:grid;grid-template-columns:230px minmax(360px,1fr) 255px;gap:14px;align-items:start}.photo-queue,.photo-review,.photo-review-controls{border:1px solid #dce1e8;border-radius:10px;background:#fff}.photo-queue{overflow:hidden}.photo-queue-head,.photo-review-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e5e8ee}.photo-queue-head b,.photo-review-head h2{color:#233552;font:700 var(--text-14) Manrope}.photo-queue-head span{padding:3px 7px;border-radius:999px;background:#edf0f6;color:#254476;font-size:var(--text-12)}.photo-queue-project{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #eceff3;background:#fff;color:#34445f;text-align:left;cursor:pointer}.photo-queue-project:hover,.photo-queue-project.active{background:#eef2f8}.photo-queue-project span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 var(--text-12) Inter}.photo-queue-project b{align-self:center;color:#455a7c;font:700 var(--text-12) Inter;white-space:nowrap}.photo-queue-project.active span{color:#08347c}.photo-review{overflow:hidden}.photo-review-head small{display:block;color:#59749f;font-size:var(--text-12)}.photo-review-head h2{margin:3px 0 0}.photo-review-nav{display:flex;gap:6px}.photo-review-nav button{min-width:37px;padding:6px 9px}.photo-review-image{position:relative;display:grid;place-items:center;min-height:430px;background:#f0f2f5}.photo-review-image img{display:block;width:100%;min-height:430px;max-height:600px;object-fit:contain}.photo-review-image>div{position:absolute;display:grid;gap:4px;max-width:260px;padding:12px;border-radius:8px;background:#182842e8;color:#fff;text-align:center;font-size:var(--text-12)}.photo-review-image>div span{color:#d5dce7}.photo-review-strip{display:flex;gap:7px;overflow-x:auto;padding:10px;background:#fbfbfc}.photo-review-strip button{position:relative;width:72px;height:54px;flex:0 0 auto;overflow:hidden;padding:0;border:2px solid transparent;border-radius:6px;background:#e6e9ee;cursor:pointer}.photo-review-strip button.active{border-color:#154591}.photo-review-strip img{width:100%;height:100%;object-fit:cover}.photo-review-strip span{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#162846;color:#fff;font-size:var(--text-12)}.photo-review-controls{display:grid;gap:14px;padding:15px}.photo-review-controls label{display:grid;gap:6px;color:#384964;font:700 var(--text-12) Inter}.photo-review-controls select{width:100%;padding:9px;border:1px solid #d4dae3;border-radius:6px;background:#fff;color:#273853;font:var(--text-12) Inter}.photo-review-controls dl{display:grid;gap:9px;margin:0;padding:11px 0;border-top:1px solid #e6eaef;border-bottom:1px solid #e6eaef}.photo-review-controls dl div{display:grid;gap:3px}.photo-review-controls dt{color:#74878d;font:700 var(--text-12) Inter;text-transform:uppercase;letter-spacing:.04em}.photo-review-controls dd{margin:0;color:#3b4d69;font-size:var(--text-12);line-height:1.35}.photo-review-controls .detail-note{margin:0;color:#71848a;font-size:var(--text-12);line-height:1.45}@media(max-width:1050px){.photo-moderation-layout{grid-template-columns:190px minmax(0,1fr)}.photo-review-controls{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.photo-review-controls dl{border-top:0;padding-top:0}}@media(max-width:700px){.photo-moderation-layout{grid-template-columns:1fr}.photo-queue{max-height:230px;overflow:auto}.photo-review-controls{grid-column:auto;grid-template-columns:1fr}.photo-review-image,.photo-review-image img{min-height:280px;max-height:430px}}

/* Keep the long project queue independently scrollable during photo review. */
@media(min-width:701px){.photo-queue{max-height:calc(100vh - 190px);overflow:auto}.photo-queue-head{position:sticky;top:0;z-index:1;background:#fff}}

/* The footer needs to collapse before its three minimum-width columns collide. */
@media(max-width:820px){
  .site-footer-inner{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-5) var(--space-4);width:100%}
  .site-footer-note{grid-column:auto;justify-content:flex-start;text-align:left;margin-top:0}
}

@media(max-width:780px){
  .site-header .topbar{padding:0 var(--space-3)}
  .market-catalog-page .market-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
  .market-catalog-page .market-toolbar input,.market-catalog-page .market-toolbar select{width:100%;min-width:0}
  .market-quick-filters{flex-wrap:nowrap;overflow-x:auto;padding:var(--space-3);scrollbar-width:none}
  .market-quick-filters::-webkit-scrollbar{display:none}
  .market-quick-filters button{flex:0 0 auto}
  .insight-metrics{grid-template-columns:repeat(2,1fr)}
  .insights-grid,.ideas-checklist-grid{grid-template-columns:1fr}
  .ideas-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .page{padding:18px var(--space-3) 40px}
  .market-catalog-page .market-toolbar{grid-template-columns:1fr;padding:10px}
  .market-result-card{gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md)}
  .market-result-main h2{font-size:var(--text-20);line-height:1.28}
  .market-result-main p,.market-result-main .market-card-description{font-size:var(--text-14)}
  .market-result-footer{font-size:var(--text-12)}
  .project-apartment-summary.is-collapsed>div:nth-child(n+3){display:none}
  .project-apartment-more{display:block}
  .market-home-hero{padding:24px 18px;border-radius:var(--radius-md)}
  .market-hero h1{font-size:var(--text-24)}
  .market-hero .market-stats{grid-template-columns:1fr 1fr}
  .market-stat{padding:11px}
  .market-result-price{gap:5px}
  .market-phone{width:100%;text-align:center}
  .market-section-head{align-items:flex-start;gap:10px}
  .market-section-head h2{font-size:var(--text-20)}
  .project-location-map-canvas{height:180px}
  .insights-hero{align-items:flex-start;flex-direction:column;padding:23px 20px}
  .insights-hero h2,.ideas-hero h2{font-size:var(--text-24)}
  .insight-metrics{gap:8px}
  .insight-metrics article{padding:13px}
  .insight-metrics b{font-size:var(--text-24)}
  .insight-panel,.ideas-checklist{padding:15px}
  .insight-bar,.insight-price{grid-template-columns:96px minmax(45px,1fr) 34px;gap:7px}
  .insight-price{grid-template-columns:96px minmax(45px,1fr) 82px}
  .insight-note,.ideas-grid{grid-template-columns:1fr;gap:5px}
  .ideas-hero{padding:23px 20px}
  .ideas-checklist-head{flex-direction:column}
}

/* Typography system: one readable scale for the admin workspace and public catalogue. */
:root{--type-body:15px;--type-secondary:14px;--type-meta:12px;--type-label:12px;--type-h1:32px;--type-h2:24px;--type-h3:18px}
html{font-size:var(--text-16)}
body{font-size:var(--type-body);line-height:1.5}
button,input,select,textarea{font-family:Inter,Arial,sans-serif}
.page-head h1{font-size:var(--type-h1);line-height:1.16;letter-spacing:-.035em}.page-head p,.section-head>div>p{font-size:var(--type-secondary);line-height:1.5}.section-head h2{font-size:var(--type-h2);line-height:1.25}.section-head span,.crumb{font-size:var(--type-meta)}
.primary,.secondary{min-height:var(--control-md);padding:9px 14px;font-size:var(--text-14)}.link-button{font-size:var(--text-14);line-height:1.35}.data-table{font-size:var(--type-secondary)}.data-table th{font-size:var(--text-12);line-height:1.35}.data-table td{font-size:var(--type-secondary);line-height:1.45}.badge,.status,.score,.market-chip{font-size:var(--type-label);line-height:1.25}.detail-note,.reason,.market-note,.market-directory-note{font-size:var(--type-secondary);line-height:1.55}
label,.registry-tools label,.correction-form label{font-size:var(--text-14)}input,select,textarea,.registry-tools input,.registry-tools select,.market-toolbar input,.market-toolbar select{font-size:var(--text-14)}

/* Navigation and global controls remain compact, but no longer microscopic. */
.brand{font-size:var(--text-12)}.brand b{font-size:var(--text-16)}.workspace,.nav-item,.search input{font-size:var(--text-14)}.nav-label{font-size:var(--text-12)}.nav-item b,.sync-status b,.sync-status small,.user{font-size:var(--text-12)}.site-header .header-nav a.nav-item,.site-footer-nav a{font-size:var(--text-14)}.site-footer-note,.site-footer-brand p{font-size:var(--text-14)}

/* Public catalogue. */
.market-hero h1{font-size:var(--text-32);line-height:1.1}.market-hero p{font-size:var(--text-16)}.market-stat small{font-size:var(--text-14)}.market-section-head h2{font-size:var(--text-24)}.market-section-head button{font-size:var(--text-14)}.market-card h3,.market-result-main h2{font-size:var(--text-20);line-height:1.3}.market-card p,.market-result-main p,.market-result-footer{font-size:var(--text-14);line-height:1.5}.market-result-main .market-card-description{font-size:var(--text-12);line-height:1.45;color:#71848a}.market-card .price{font-size:var(--text-20)}.market-card .market-chip{font-size:var(--text-12)}.market-card-apartments>div,.market-card-apartments .market-apartment-type,.project-apartment-summary .project-apartment-type{font-size:var(--text-14);line-height:1.4}.market-card-apartments .market-apartment-type b,.project-apartment-summary .project-apartment-type b{font-size:var(--text-14)}.market-catalog-count,.market-delivery-filter,.catalog-display-controls{font-size:var(--text-14)}.catalog-display-controls button,.market-delivery-filter .delivery-link{font-size:var(--text-14)}.market-detail h1{font-size:var(--text-32)}.market-detail p{font-size:var(--text-16)}.market-price{font-size:var(--text-32)}.market-map-sidebar,.market-map-legend,.market-map-project b,.market-map-project span,.district-popup{font-size:var(--text-14)}.market-map-project small,.market-map-project-copy em,.district-popup small{font-size:var(--text-12)}

/* Cards, reports, portfolios and the overview page shown in the audit. */
.launch-plan-list strong{font-size:var(--text-14);line-height:1.35}.launch-plan-list p{font-size:var(--text-14);line-height:1.45}.launch-plan-status{font-size:var(--text-12);padding:5px 8px}.launch-plan-step{font-size:var(--text-12)}.admin-idea-groups h3,.content-collection-flow h3,.idea-card h3{font-size:var(--text-20)}.admin-idea-groups li,.content-collection-flow p,.content-quality-list p,.idea-card p,.idea-card footer{font-size:var(--text-14);line-height:1.5}.portfolio-identity h3{font-size:var(--text-20)}.portfolio-identity p,.portfolio-next{font-size:var(--text-14)}.portfolio-identity small,.portfolio-metrics b,.portfolio-next>b,.portfolio-metrics .portfolio-metric small{font-size:var(--text-12)}.portfolio-metrics span,.portfolio-metrics .portfolio-metric strong{font-size:var(--text-14)}.insight-metrics small,.insight-metrics span,.insight-panel-head p,.insight-bar,.insight-price{font-size:var(--text-14)}.insight-bar b,.insight-price b{font-size:var(--text-14)}.idea-check-row b{font-size:var(--text-14)}.idea-check-row small{font-size:var(--text-12)}.promotion-audiences b,.promotion-channel-list strong,.promotion-phases h3,.promotion-paid-grid h3{font-size:var(--text-14)}.promotion-audiences p,.promotion-phases p,.promotion-channel-list p,.promotion-content-list li,.promotion-kpi-list li,.promotion-next p{font-size:var(--text-14);line-height:1.5}

/* Small operational UI: labels and supporting copy are readable at normal zoom. */
.metric small,.metric span,.insight p,.registry-tools .result-count,.entity small,.photo-review-head small,.photo-review-controls .detail-note{font-size:var(--text-12)}.entity b,.photo-queue-project span,.photo-review-controls dd,.photo-review-image>div{font-size:var(--text-14)}.photo-queue-project b,.photo-review-controls dt,.photo-review-controls label{font-size:var(--text-12)}.photo-review-controls select{font-size:var(--text-14)}.project-offer-group summary,.project-offer-group summary em,.project-offer-row b{font-size:var(--text-14)}.project-offer-group summary b,.project-offer-row span,.project-offer-row strong{font-size:var(--text-14)}.project-offer-row small{font-size:var(--text-12)}
@media (min-width:701px){@container (max-width:900px){.project-offer-group.no-price summary{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}.project-offer-group.no-price summary b{grid-column:1;grid-row:1}.project-offer-group.no-price summary span{grid-column:2;grid-row:1;justify-self:end}.project-offer-group.no-price summary em{grid-column:3;grid-row:1;justify-self:end}}}

@media(max-width:560px){.page-head h1{font-size:var(--text-24)}.section-head h2,.market-section-head h2{font-size:var(--text-20)}.market-hero h1{font-size:var(--text-32)}.market-detail h1{font-size:var(--text-32)}body{font-size:var(--text-16)}}

/* Six catalogue filters must never create a horizontal page scroll. */
.market-catalog-page .market-toolbar.market-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
.market-catalog-page .market-toolbar.market-filters input,.market-catalog-page .market-toolbar.market-filters select,.market-catalog-page .market-toolbar.market-filters .mobile-custom-select{width:100%;min-width:0}
.market-catalog-page .market-toolbar.market-filters .mobile-select-trigger{height:100%;min-height:var(--control-md)}
@media(max-width:1200px){.market-catalog-page .market-toolbar.market-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.market-catalog-page .market-toolbar.market-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.market-catalog-page .market-toolbar.market-filters{grid-template-columns:1fr}.market-catalog-page .market-results{align-items:flex-start;gap:8px;flex-direction:column}}

/* Approved catalogue header: inline delivery links and one view toolbar. */
.market-catalog-page .market-catalog-top{display:block;margin-bottom:22px}
.market-catalog-page .market-catalog-count{margin-top:10px;font-size:var(--text-16)}
.market-catalog-page>#apartmentCatalogDisplay{margin:0 0 14px}.market-catalog-page>#apartmentCatalogDisplay .catalog-display-controls{margin:0}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:22px 0 4px}.catalog-pagination .pagination-page,.catalog-pagination .pagination-arrow{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px}.catalog-pagination .pagination-arrow{font-size:var(--text-20)}.catalog-pagination .pagination-page.is-current{border-color:#08347b;background:#e9eef6;color:#083172;font-weight:700;pointer-events:none}.catalog-pagination .pagination-ellipsis{padding:0 2px;color:#56709a;font-weight:700}.market-result-price .market-phone{align-self:stretch;width:100%;text-align:center}
.market-catalog-page .market-delivery-filter{min-height:64px;box-sizing:border-box;margin:0 0 20px;padding:12px 18px;border-radius:16px;background:#eef1f4;gap:20px;flex-wrap:wrap}
.market-catalog-page .market-delivery-options{gap:24px;flex-wrap:wrap}
.market-catalog-page .market-delivery-options>div{gap:24px;flex-wrap:wrap}
.market-catalog-page .delivery-link{font-size:var(--text-14);line-height:24px}
.market-catalog-page #projectCatalogDisplay .catalog-display-controls{display:flex;gap:0}
.market-catalog-page #projectCatalogDisplay button{min-height:var(--control-md);padding:8px 14px;border-radius:0;background:transparent;font-size:var(--text-14);white-space:nowrap}
.market-catalog-page #projectCatalogDisplay button+button{margin-left:-1px}
.market-catalog-page #projectCatalogDisplay button:first-child{border-radius:9px 0 0 9px}
.market-catalog-page #projectCatalogDisplay button:last-child{border-radius:0 9px 9px 0}
.market-catalog-page #projectCatalogDisplay button.active{position:relative;background:#fff;border-color:#b5c2d6;color:#143873}
.market-catalog-page .delivery-link:focus-visible,.market-catalog-page #projectCatalogDisplay button:focus-visible{outline:2px solid #143873;outline-offset:3px}
@media(max-width:700px){.market-catalog-page .market-delivery-filter{padding:12px;gap:12px}.market-catalog-page #projectCatalogDisplay{margin-left:0;width:100%}.market-catalog-page #projectCatalogDisplay .catalog-display-controls{width:100%}.market-catalog-page #projectCatalogDisplay button{flex:1;padding:8px 10px}.market-catalog-page .market-delivery-options,.market-catalog-page .market-delivery-options>div{gap:16px}}

/* Combined language and currency menu, approved flag concept. */
.top-actions>.market-preferences{display:flex;position:relative;flex-shrink:0}
.preferences-trigger{display:flex;align-items:center;gap:8px;min-height:var(--control-md);padding:7px 10px;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:#293850;font:600 var(--text-12) Inter;white-space:nowrap;cursor:pointer}
.preferences-trigger[aria-expanded="true"]{border-color:#143873}
.preferences-trigger[aria-expanded="true"]>svg{transform:rotate(180deg)}
.locale-flag{display:inline-block;flex:0 0 20px;width:20px;height:14px;border-radius:2px;box-shadow:inset 0 0 0 1px #18294418;overflow:hidden;background-size:cover;background-position:center}
.flag-ru{background-image:linear-gradient(#fff 0 33.333%,#0039a6 33.333% 66.666%,#d52b1e 66.666%)}
.flag-hy{background-image:linear-gradient(#d90012 0 33.333%,#0033a0 33.333% 66.666%,#f2a800 66.666%)}
.flag-en{background-image:url('/media/flags/gb.svg')}
.preferences-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:100;width:264px;box-sizing:border-box;padding:16px;background:#fff;border:1px solid #dbe3e7;border-radius:12px;box-shadow:0 10px 30px #17294624;color:#293850;text-align:left}
.preferences-panel[hidden]{display:none}
.preferences-section>b{display:block;margin-bottom:8px;font:700 var(--text-14) Inter}
.preferences-section+.preferences-section{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8ec}
.preferences-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.preferences-options button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-md);padding:8px 5px;border:1px solid #dbe3e7;border-radius:6px;background:#fff;color:#293850;font:600 var(--text-12) Inter;white-space:nowrap;cursor:pointer}
.preferences-options button[aria-pressed="true"]{position:relative;background:#e8edf4;border-color:#9eafc9;color:#143873}
.preferences-options button:hover{background:#f0f3f7}
.preferences-trigger:focus-visible,.preferences-options button:focus-visible{position:relative;outline:2px solid #143873;outline-offset:2px;z-index:1}
@media(max-width:520px){.top-actions>.market-preferences{display:flex}.preferences-trigger{padding:6px;gap:5px;font-size:var(--text-12)}.preferences-trigger .locale-flag{width:18px;flex-basis:18px;height:12px}.preferences-panel{position:fixed;top:62px;right:10px;width:min(264px,calc(100vw - 20px))}.preferences-options button{min-height:44px}}

/* Keep the combined language/currency trigger on the same visual rhythm as
   the navigation controls; it should not become the tallest header item. */
.preferences-trigger{box-sizing:border-box;min-height:var(--control-sm);height:var(--control-sm);padding:0 10px}
@media(max-width:520px){.preferences-trigger{min-height:var(--control-sm);height:var(--control-sm);padding:0 6px}}

.mobile-custom-select{position:relative;min-width:0}
.mobile-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:40px;padding:0 12px;border:1px solid #d6e0e5;border-radius:7px;background:#fff;color:#344b57;font:500 var(--text-14) Inter,sans-serif;text-align:left;cursor:pointer}
.mobile-select-trigger svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mobile-select-trigger[aria-expanded=true]{border-color:#0f408f;box-shadow:0 0 0 3px #d9e2f0}
.mobile-select-list{position:absolute;z-index:40;top:calc(100% + 6px);left:0;right:0;max-height:236px;overflow:auto;padding:5px;border:1px solid #cfd6e1;border-radius:8px;background:#fff;box-shadow:0 10px 24px #1828421f}
.mobile-select-list[hidden]{display:none}
.mobile-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#243550;font:500 var(--text-14) Inter,sans-serif;text-align:left;cursor:pointer}
.mobile-select-option:hover,.mobile-select-option.active{background:#edf1f8;color:#08347b}
.mobile-select-check{display:none;width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:#0f408f;color:#fff;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mobile-select-option.active .mobile-select-check{display:block}

/* Mobile homepage trial: search first, four light category shortcuts. */
.mobile-home-intro{display:none}
@media(max-width:600px){
 .mobile-search-home{padding:24px 16px!important;background:#fff}
 .mobile-search-home>.market-home-hero,.mobile-search-home>.market-categories{display:none!important}
 .mobile-home-intro{display:block}
 .mobile-home-intro h1{margin:0;color:#233640;font:700 var(--text-24)/1.22 Inter,sans-serif;letter-spacing:-.6px}
 .mobile-home-intro>p{margin:10px 0 20px;color:#78838f;font:var(--text-14)/1.5 Inter,sans-serif}
 .mobile-home-search{display:grid;gap:12px;padding:14px;background:#eef2f8;border:1px solid #cdd6e5;border-radius:12px;box-shadow:0 4px 12px #1a345d10}
 .mobile-home-query{display:flex;align-items:center;gap:9px;padding:0 12px;background:#fff;border:1px solid #d6e0e5;border-radius:7px;color:#7d8995;min-width:0}
 .mobile-home-query svg{width:20px;height:20px;flex-shrink:0}
 .mobile-home-query input{width:100%;min-width:0;height:var(--control-lg);border:0;background:transparent;padding:0;color:#293850;font:var(--text-14) Inter,sans-serif;outline-offset:3px}
 .mobile-home-query input::placeholder{color:#7d8995}
 .mobile-home-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .mobile-home-selects .mobile-select-trigger{height:var(--control-lg)}
 .mobile-home-search>button{min-height:var(--control-lg);border:0;border-radius:7px;background:var(--search-accent);color:#fff;font:700 var(--text-16) Inter,sans-serif;cursor:pointer}
 .mobile-home-search>button:hover{background:#062c69}
 .mobile-home-rubrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:22px -4px 24px}
 .mobile-home-rubrics button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:76px;padding:4px 0;border:0;background:transparent;color:#313f56;cursor:pointer}
 .mobile-home-rubrics svg{width:35px;height:35px;color:var(--search-accent)}
 .mobile-home-rubrics span{font:600 var(--text-12)/1.3 Inter,sans-serif;white-space:nowrap}
 .mobile-home-rubrics button:hover{background:#f1f4f8;border-radius:8px}
 .mobile-home-rubrics button:focus-visible,.mobile-home-search button:focus-visible{outline:2px solid var(--search-accent);outline-offset:3px}
 .mobile-search-home>.market-section{margin-top:0}
 .mobile-search-home>.market-section .market-section-head{margin-bottom:14px;align-items:center;gap:8px}
 .mobile-search-home>.market-section .market-section-head h2{font:700 var(--text-20)/1.25 Inter,sans-serif}
 .mobile-search-home>.market-section .market-section-head p{display:none}
 .mobile-search-home>.market-section .market-section-head>button{font-size:var(--text-12);white-space:nowrap}
 .mobile-search-home>.market-section .market-grid{grid-template-columns:1fr;gap:18px}
 .mobile-search-home>.market-section .market-card{border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #202f4810}
 .mobile-search-home>.market-section .market-card>img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover}
}

@media(max-width:350px){
 .mobile-home-rubrics span{font-size:var(--text-12);letter-spacing:-.2px}
 .mobile-home-query{padding:0 8px;gap:6px}
 .mobile-home-query input{font-size:var(--text-12)}
 .site-header .topbar{padding-left:8px;padding-right:8px;gap:4px}
 .top-actions{gap:3px}
 .top-actions .user{width:26px;min-width:26px;height:26px;padding:0}
 .preferences-trigger{font-size:var(--text-12);gap:3px;padding:5px}
 .header-brand .brand-lockup{width:100px}
}

#publicMoreMenu .public-menu-account{display:flex;align-items:center;gap:10px;padding:14px 12px;margin-bottom:6px;border-bottom:1px solid #d7e5fb;border-radius:0;color:#0754c9;background:#f1f7ff;font-weight:700}
.account-entry-notice{max-width:420px;padding:20px}
.account-entry-notice h2{margin:0 0 12px;color:#293850}
.account-entry-notice p{color:#50678d;line-height:1.6;margin-bottom:22px}

/* Photo controls are deliberately quiet over the catalogue image.  The two
   transparent halves make the photo itself a predictable previous/next area. */
.market-gallery-card .gallery-arrow{z-index:2;background:#ffffff82;color:#314361;box-shadow:0 1px 5px #17294618}
.market-gallery-card .gallery-arrow:hover{background:#fffffff0}

/* Approved dark footer: grouped navigation and a separate district row. */
.site-footer{background:var(--footer-bg);color:#acbad0}
.site-footer-inner.footer-structured{display:block;box-sizing:border-box;padding:42px 30px 0}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:40px;padding-bottom:32px}
.footer-structured .site-footer-brand b{font:700 var(--text-24)/1.2 Inter,sans-serif;letter-spacing:-.5px}
.footer-structured .site-footer-brand .brand-domain{color:#4b6fa9}
.footer-structured .site-footer-brand span[data-i18n]{max-width:270px;margin-top:16px;color:#9eaec9;font:400 var(--text-14)/1.65 Inter,sans-serif}
.footer-structured .site-footer-nav{display:flex;flex-direction:column;gap:4px}
.footer-structured h2{margin:0 0 12px;color:#f3f6fa;font:700 var(--text-16)/1.4 Inter,sans-serif}
.footer-structured .site-footer-nav a,.footer-districts a{display:inline-flex;align-items:center;min-height:32px;color:#acbad0!important;text-decoration:none!important;font:400 var(--text-14)/1.5 Inter,sans-serif}
.footer-structured a:hover{color:#8eade0!important;text-decoration:underline!important;text-underline-offset:4px}
.footer-districts{padding:25px 0 26px;border-top:1px solid #ffffff24}
.footer-districts>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff24;padding:18px 0}
.footer-bottom small{font:400 var(--text-12)/1.5 Inter,sans-serif;color:#9eaec9}
.footer-bottom small span{color:#4b6fa9}
.footer-bottom button{display:flex;align-items:center;gap:10px;min-height:var(--control-md);font:600 var(--text-14) Inter,sans-serif;color:#8eade0}
.footer-bottom button span{font-size:var(--text-24)}
.footer-structured a:focus-visible,.footer-structured button:focus-visible{outline:2px solid #8eade0;outline-offset:4px;border-radius:3px}
@media(max-width:760px){
 .site-footer-inner.footer-structured{padding:30px 20px 0}
 .footer-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;padding-bottom:24px}
 .footer-main .site-footer-brand{grid-column:1/-1}
 .footer-structured .site-footer-brand span[data-i18n]{max-width:300px;margin-top:10px}
 .footer-districts>div{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
 .footer-structured .site-footer-nav a,.footer-districts a{min-height:40px;font-size:var(--text-14)}
 .footer-structured h2{font-size:var(--text-14)}
}
@media(max-width:420px){
 .footer-main{grid-template-columns:1fr 1fr}
 .footer-main .site-footer-nav:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 .footer-main .site-footer-nav:last-child h2{grid-column:1/-1;margin-bottom:2px}
 .footer-bottom{gap:10px}
}
.footer-main .site-footer-brand{align-items:flex-start}

/* Shared density and interaction rules. These override older component
   declarations so tables, text links and controls stay consistent. */
a,.link-button{ text-decoration:none!important }
.link-button:hover,.site-footer a:hover{text-decoration:none!important}
.header-brand .brand-tagline{font-size:9px;line-height:1.1;letter-spacing:0}
body.admin-mode .table-wrap,body.admin-mode .admin-table-section .table-scroll{scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
body.admin-mode .table-wrap::-webkit-scrollbar,body.admin-mode .admin-table-section .table-scroll::-webkit-scrollbar{display:none}
body.admin-mode .table-wrap.is-table-dragging,body.admin-mode .admin-table-section .table-scroll.is-table-dragging{cursor:grabbing;user-select:none}
body.admin-mode .table-wrap th,body.admin-mode .admin-data-table th{height:34px;padding:6px 10px;font-size:11px!important;line-height:1.15}
body.admin-mode .table-wrap td,body.admin-mode .admin-data-table td{padding:6px 10px;font-size:12px!important;line-height:1.2}
body.admin-mode .registry-image-thumb{width:48px;height:34px}
.admin-table-actions .admin-filter-button{min-height:32px;padding:6px 9px}
.admin-table-actions .admin-columns-icon{width:32px;height:32px;min-width:32px;font-size:var(--icon-md)}
.admin-table-actions .admin-columns-icon .ui-icon{width:var(--icon-sm);height:var(--icon-sm);margin:0}
.admin-project-pagination-row{display:flex;justify-content:center;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-1)}.admin-project-pagination-row .catalog-pagination{margin:0}.admin-page-size{display:flex;align-items:center;gap:var(--space-2);color:#4c6388;font:600 var(--text-12) Inter}.admin-page-size select{height:var(--control-sm);border:1px solid #d8dde5;border-radius:6px;background:#fff;color:#29364c;font:600 var(--text-12) Inter;padding:0 8px}@media(max-width:600px){.admin-project-pagination-row{align-items:flex-start;flex-direction:column}.admin-page-size select{min-height:44px}}
.admin-database-summary+.admin-table-toolbar,.admin-schema-details+.admin-table-toolbar{margin:0 0 12px}.admin-schema-details{margin:0 0 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-schema-details summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 14px;color:#253651;font:700 var(--text-14) Manrope;cursor:pointer}.admin-schema-details summary span{color:#647997;font:600 var(--text-12) Inter}.admin-schema-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.admin-schema-fields>span{display:grid;gap:3px;min-width:0;padding:10px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-schema-fields>span:nth-child(3n){border-right:0}.admin-schema-fields b{overflow:hidden;color:#29364c;font:600 var(--text-12) Inter;text-overflow:ellipsis;white-space:nowrap}.admin-schema-fields small{color:#71828a;font:var(--text-12) Inter}.admin-schema-details>.detail-note{margin:10px 14px 12px}@media(max-width:760px){.admin-schema-fields{grid-template-columns:1fr}.admin-schema-fields>span{border-right:0}.admin-database-summary .metrics{grid-template-columns:1fr}}
.admin-data-table th,.admin-data-table td{white-space:nowrap}
#adminBurgerMenu{scrollbar-width:none;-ms-overflow-style:none}
#adminBurgerMenu::-webkit-scrollbar{display:none}
#adminBurgerMenu .nav-item{min-height:34px;padding:7px 12px;font-size:var(--text-12)}
.footer-bottom button{font:600 var(--text-12) Inter,sans-serif;color:#acbad0}
.footer-bottom button span{font-size:var(--icon-md)}
select{background-position:right 14px center!important;padding-right:38px!important}
.market-search-panel.market-search-no-budget{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch}
.market-search-panel.market-search-no-budget .mobile-custom-select,.market-search-panel.market-search-no-budget .mobile-select-trigger,.market-search-panel.market-search-no-budget .primary{height:44px}
.market-search-panel.market-search-no-budget .mobile-select-trigger{width:100%}
.market-search-panel.market-search-no-budget .mobile-select-trigger span,.market-search-panel.market-search-no-budget .primary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-offer-group summary{grid-template-columns:minmax(140px,1fr) 120px minmax(170px,1fr) auto 22px}
.project-offer-caret{width:18px;height:18px;justify-self:end;color:#4b6184;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.project-offer-group[open] .project-offer-caret{transform:rotate(180deg)}
@media(min-width:701px){.footer-districts>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}.footer-districts a{justify-self:start}}
@media(max-width:700px){.project-offer-group summary{grid-template-columns:minmax(0,1fr) auto 22px}.project-offer-group summary span,.project-offer-group summary em{grid-column:1;justify-self:start}.project-offer-group summary strong{grid-column:2;grid-row:1 / span 2}.project-offer-caret{grid-column:3;grid-row:1 / span 2;align-self:center}}

@media(min-width:701px){
 .market-home-page>.market-section .market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Registry controls use the normal 40 px control size as one action group. */
.admin-filter-panel{background:#fff!important}
.admin-table-actions .admin-filter-button{min-height:var(--control-md);height:var(--control-md);padding:8px 13px}
.admin-table-actions .admin-columns-icon{width:var(--control-md);height:var(--control-md);min-width:var(--control-md)}

/* Photo moderation: keep photos already attached to a ЖК separate from candidates. */
.photo-queue-tools{display:grid;gap:7px;padding:10px;border-bottom:1px solid #e5e8ee}
.photo-queue-tools input,.photo-queue-tools select{width:100%;box-sizing:border-box;border:1px solid #d4dae3;border-radius:6px;background:#fff;color:#273853;padding:7px 8px;font:var(--text-12) Inter,sans-serif}
.photo-queue-section{border-bottom:1px solid #e5e8ee}
.photo-queue-section>b{display:block;padding:9px 13px 6px;background:#f6f8fa;color:#4c6387;font:700 var(--text-12) Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.photo-queue-empty{margin:0;padding:10px 13px;color:#788a8f;font-size:var(--text-12)}
.photo-moderation-project-layout{grid-template-columns:230px minmax(460px,1fr) 255px}
.photo-project-galleries{display:grid;gap:14px;align-content:start}
.photo-project-galleries>.photo-review-head{border:1px solid #dce1e8;border-radius:10px;background:#fff}
.photo-source-gallery{overflow:hidden;border:1px solid #dce1e8;border-radius:10px;background:#fff}
.photo-source-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #e5e8ee}
.photo-source-gallery-head h2{margin:0;color:#233552;font:700 var(--text-14) Manrope,sans-serif}
.photo-source-gallery-head small{display:block;margin-top:2px;color:#71848a;font-size:var(--text-12)}
.photo-source-gallery-head>span{color:#495f83;font-size:var(--text-12)}
.photo-source-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:9px;padding:12px}
.photo-source-gallery-grid button{position:relative;aspect-ratio:1.2;overflow:hidden;padding:0;border:2px solid transparent;border-radius:7px;background:#e7eaef;cursor:pointer}
.photo-source-gallery-grid button.active{border-color:#154591;box-shadow:0 0 0 2px #ccd8eb}
.photo-source-gallery-grid img{width:100%;height:100%;object-fit:cover}
.photo-source-gallery-grid span{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#172a48e8;color:#fff;font-size:var(--text-12)}
.photo-gallery-empty{margin:0;padding:18px 14px;color:#71848a;font-size:var(--text-12)}
.photo-selected-preview{overflow:hidden;border-radius:7px;background:#edeff3}
.photo-selected-preview img{display:block;width:100%;max-height:175px;object-fit:contain}
@media(max-width:1050px){.photo-moderation-project-layout{grid-template-columns:190px minmax(0,1fr)}.photo-moderation-project-layout .photo-review-controls{grid-column:1/-1}}
@media(max-width:700px){.photo-moderation-project-layout{grid-template-columns:1fr}.photo-moderation-project-layout .photo-review-controls{grid-column:auto}.photo-source-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:7px;padding:9px}}

/* Per-photo controls and safe candidate-to-project drag and drop. */
.photo-gallery-tile{position:relative;min-width:0;border-radius:7px}
.photo-gallery-tile[draggable="true"]{cursor:grab}
.photo-gallery-tile.is-dragging{opacity:.45}
.photo-gallery-preview{position:relative;display:block;width:100%;aspect-ratio:1.2;overflow:hidden;padding:0;border:2px solid transparent;border-radius:7px;background:#e7eaef;cursor:pointer}
.photo-gallery-tile.active .photo-gallery-preview{border-color:#154591;box-shadow:0 0 0 2px #ccd8eb}
.photo-gallery-preview img{width:100%;height:100%;object-fit:cover}
.photo-gallery-preview span{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#172a48e8;color:#fff;font-size:var(--text-12)}
.photo-gallery-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:5px}
.photo-gallery-actions button{min-width:0;min-height:25px;padding:3px 4px;border:1px solid #d6dbe4;border-radius:5px;background:#fff;color:#364763;font:600 var(--text-12) Inter,sans-serif;cursor:pointer}
.photo-gallery-actions button.danger{grid-column:1/-1;border-color:#e8c6c3;color:#a9463f}
.photo-gallery-delete{position:absolute;z-index:2;top:6px;right:6px;display:grid;place-items:center;width:27px;height:27px;padding:0;border:0;border-radius:50%;background:#172946e8;color:#fff;font-size:var(--text-14);line-height:1;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.86);transition:opacity .15s ease,transform .15s ease,background .15s ease}
.photo-source-gallery-grid .photo-gallery-delete{position:absolute;z-index:2;top:6px;right:6px;width:27px;height:27px;min-height:0;aspect-ratio:auto;padding:0;border:0;border-radius:50%;background:#172946e8;color:#fff}
.photo-source-gallery-grid .photo-public-toggle{position:absolute;z-index:2;right:5px;bottom:5px;display:grid;place-items:center;width:23px;height:23px;min-height:0;aspect-ratio:auto;padding:0;border:1px solid #fff;border-radius:50%;background:#536b93;color:#fff;font:700 var(--text-14)/1 Inter,sans-serif;cursor:pointer}
.photo-source-gallery-grid .photo-public-toggle.is-published{background:#1d3762}
.photo-gallery-tile[data-project-photo-id]{cursor:grab}
.photo-gallery-tile[data-project-photo-id]:active{cursor:grabbing}
.photo-gallery-tile:hover .photo-gallery-delete,.photo-gallery-tile:focus-within .photo-gallery-delete{opacity:1;pointer-events:auto;transform:scale(1)}
.photo-gallery-delete:hover{background:#a9463f}
.photo-candidate-hint{padding:5px 2px;color:#71848a;font-size:var(--text-12);line-height:1.2;text-align:center}
.photo-source-gallery[data-photo-gallery-kind="project"].is-drag-over{outline:2px dashed #154591;outline-offset:-4px;background:#edf2f9}
.admin-table-actions{gap:6px}.admin-table-actions .admin-filter-button{padding:6px 9px;font-size:var(--text-12)}.admin-table-actions .admin-columns-icon{display:grid;place-items:center;width:32px;height:32px;min-width:32px;padding:0;font-size:var(--text-16);line-height:1}.registry-image-thumb{display:grid;place-items:center;width:54px;height:40px;overflow:hidden;border:1px solid #d9dee5;border-radius:5px;background:#f4f6f8}.registry-image-thumb img{display:block;width:100%;height:100%;object-fit:contain}.registry-image-thumb.is-placeholder{background:#eef1f7}.registry-image-thumb.is-placeholder img{padding:5px;opacity:.75}
.gallery-arrow,.market-gallery-card .gallery-arrow,.detail-gallery-main .gallery-arrow{background:rgb(255 255 255 / 56%)!important;color:#314361;box-shadow:0 1px 5px #17294618}.gallery-arrow:hover,.market-gallery-card .gallery-arrow:hover,.detail-gallery-main .gallery-arrow:hover{background:rgb(255 255 255 / 72%)!important}
.market-card .market-card-gallery{position:relative;display:flex;flex-direction:column;gap:7px;background:#fff}.market-card .market-card-gallery>.gallery-main{display:block;width:100%;height:252px;object-fit:cover;background:#e8ebef}.market-card .market-card-gallery>[data-gallery-count]{display:none}.market-card .market-card-gallery .gallery-arrow{top:108px}.market-card .market-card-gallery .gallery-thumbs{height:48px;padding:0 9px 1px}.market-card .market-card-gallery .gallery-thumb,.market-card .market-card-gallery .gallery-thumb img{width:100%;height:100%}.market-card .market-card-gallery .gallery-thumb img{display:block;object-fit:cover}@media(max-width:860px){.market-card .market-card-gallery>.gallery-main{height:210px}.market-card .market-card-gallery .gallery-arrow{top:87px}}
/* A registry is one reusable data component.  Record cells never choose their
   own typography or alignment: links, numbers, statuses and plain text share
   the same baseline and weight. */
body.admin-mode .table-wrap th,body.admin-mode .admin-data-table th,body.admin-mode .table-wrap th *,body.admin-mode .admin-data-table th *{font:700 11px/1.15 Inter,Arial,sans-serif!important;text-align:left!important;vertical-align:middle!important}
body.admin-mode .table-wrap td,body.admin-mode .admin-data-table td,body.admin-mode .table-wrap td *,body.admin-mode .admin-data-table td *{font:400 12px/1.2 Inter,Arial,sans-serif!important;text-align:left!important;vertical-align:middle!important}

/* Native selects keep a consistent breathing room for the single dropdown caret. */
body select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%234b6670' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;padding-right:32px!important}
body.admin-mode .admin-table-section .admin-data-table th{height:38px;padding-top:6px;padding-bottom:6px}
body.admin-mode .admin-table-section .admin-data-table td{height:44px;padding-top:6px;padding-bottom:6px;box-sizing:border-box}
body.admin-mode .admin-table-section .registry-image-thumb{width:46px;height:32px}
body.admin-mode .admin-filter-panel label:has(.admin-select){min-width:0}
body.admin-mode .admin-select{position:relative;display:block;min-width:0;width:100%}
body.admin-mode .admin-native-select{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
body.admin-mode .admin-select-ui{display:block;position:relative}
body.admin-mode .admin-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:var(--control-md);padding:0 12px;border:1px solid #d8dde5;border-radius:6px;background:#fff;color:#202f48;font:500 var(--text-12)/1.2 Inter,Arial,sans-serif;text-align:left;cursor:pointer}
body.admin-mode .admin-select-trigger:hover{border-color:#9bacc8}
body.admin-mode .admin-select-trigger:focus-visible,body.admin-mode .admin-select-trigger[aria-expanded="true"]{outline:2px solid var(--focus-ring,#286ebd);outline-offset:1px;border-color:#1c468a}
body.admin-mode .admin-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-mode .admin-select-trigger svg{flex:0 0 auto;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.admin-mode .admin-select-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
body.admin-mode .admin-select-list{position:absolute;z-index:75;top:calc(100% + 4px);left:0;right:0;display:grid;max-height:280px;overflow:auto;padding:6px;border:1px solid #d4dae3;border-radius:8px;background:#fff;box-shadow:0 14px 32px #17294624}
body.admin-mode .admin-select-list[hidden]{display:none}
body.admin-mode .admin-select-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;min-height:34px;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:#253651;font:500 var(--text-12)/1.2 Inter,Arial,sans-serif;text-align:left;cursor:pointer}
body.admin-mode .admin-select-option:hover{background:#f1f3f7}
body.admin-mode .admin-select-option.active{background:#e8edf5;color:#083378;font-weight:700}
body.admin-mode .admin-select-option.active::after{content:'✓';grid-column:2;grid-row:1;color:#083378;font-weight:800}
body.admin-mode .admin-select-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.admin-mode .admin-select-option b{grid-column:2;grid-row:1;min-width:24px;color:#5a75a0;font:600 var(--text-12)/1 Inter,Arial,sans-serif;text-align:right!important}
body.admin-mode .admin-select-option.active b{padding-right:16px;color:#083378}

/* Column chooser: show the complete configuration at once, grouped in columns. */
.admin-columns-overlay{overflow:auto;align-items:start}
.admin-columns-dialog{width:min(760px,100%);margin:auto}
.admin-columns-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 22px;max-height:none;overflow:visible}
.admin-columns-list label{min-width:0;line-height:1.25}
@media(max-width:600px){.admin-columns-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.admin-columns-dialog{padding:20px 16px}}

/* Shared registry selection: every data table can expose the same bulk-action flow. */
body.admin-mode .admin-data-table .admin-selection-cell{width:40px;min-width:40px;max-width:40px;padding:0!important;text-align:center!important}
body.admin-mode .admin-data-table .admin-selection-cell input{width:16px;height:16px;margin:0;accent-color:var(--search-accent);vertical-align:middle}
body.admin-mode .admin-data-table tbody tr.is-selected td{background:#eaeef5}
body.admin-mode .admin-selection-bar{position:fixed;z-index:60;right:var(--space-6);bottom:var(--space-3);left:var(--space-6);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--footer-bg);border-radius:var(--radius-sm);background:var(--footer-bg);box-shadow:0 2px 8px #17294618;color:#fff}
body.admin-mode .admin-selection-bar[hidden]{display:none}
body.admin-mode .admin-selection-bar>span{margin-right:auto;font:600 var(--text-12) Inter,sans-serif}
body.admin-mode .admin-selection-bar .link-button{min-height:var(--control-md);padding:8px 12px;color:#fff;font:600 var(--text-12) Inter,sans-serif}
body.admin-mode .admin-selection-bar .secondary{background:#fff}
#uk-patterns .admin-selection-bar{position:static;margin-top:var(--space-3);box-shadow:none}
@media(max-width:700px){body.admin-mode .admin-selection-bar{right:var(--space-3);bottom:var(--space-2);left:var(--space-3);display:grid;grid-template-columns:1fr 1fr;padding:var(--space-2)}body.admin-mode .admin-selection-bar>span{grid-column:1/-1;margin:0}.admin-selection-bar button{width:100%}.admin-selection-bar [data-admin-selection-clear]{grid-column:1/-1}}

/* Public pages share one content axis and one link/filter treatment. */
body:not(.admin-mode) .site-header .topbar,
body:not(.admin-mode) .site-footer-inner,
body:not(.admin-mode) .market-page{max-width:1280px;box-sizing:border-box}
body:not(.admin-mode) .market-page a:visited{color:inherit}
body:not(.admin-mode) .market-page a:not(.primary):not(.secondary):not(.link-button){color:#1d3d71}
body:not(.admin-mode) .market-page .link-button{color:#1d3d71}
body:not(.admin-mode) .market-page .link-button:visited,
body:not(.admin-mode) .market-page .public-section-nav a:visited{color:#006bff}
body:not(.admin-mode) .public-section-nav button{min-height:32px;padding:7px 12px;border:1px solid #d4dae3;border-radius:6px;background:#fff;color:#314361;font:600 14px/1.2 Inter,Arial,sans-serif;cursor:pointer}
body:not(.admin-mode) .public-section-nav button:hover,
body:not(.admin-mode) .public-section-nav button.active{border-color:#154591;background:#e8edf5;color:#083378}
body:not(.admin-mode) .public-filter-tabs{gap:8px;align-items:center}
body:not(.admin-mode) .public-filter-tabs label{min-height:32px;padding:7px 12px;border:1px solid #d4dae3;border-radius:6px;background:#fff;cursor:pointer}
body:not(.admin-mode) .public-filter-tabs label:has(input:checked){border-color:#154591;background:#e8edf5;color:#083378;font-weight:700}
body:not(.admin-mode) .public-filter-tabs input{accent-color:#154591}
body:not(.admin-mode) .district-price-map-list button{font:inherit;color:inherit;background:#fff;border:1px solid #d4dae3;border-radius:6px;cursor:pointer}
body:not(.admin-mode) .district-price-map-list button:hover{border-color:#154591;background:#f2f5fa}
.developer-logo-empty{min-height:64px;width:64px;padding:5px;text-align:center;font-size:11px}
body:not(.admin-mode) .market-project-passport .detail-gallery-main:has(img[src*="/media/placeholders/project.svg"]) img{display:none}
body:not(.admin-mode) .market-project-passport .detail-gallery-main:has(img[src*="/media/placeholders/project.svg"])::after{content:'Фото пока нет';display:grid;place-items:center;height:100%;min-height:220px;color:#657480;background:#f6f8fa;font-size:14px}

/* Homepage reference treatment: real editorial photo and compact public layout. */
body:not(.admin-mode) .market-home-page{max-width:1280px;padding-top:32px}
body:not(.admin-mode) .market-home-page .market-home-hero-reference{position:relative;display:flex;min-height:430px;align-items:flex-end;padding:48px;background-color:#172946;background-image:linear-gradient(90deg,#112038d9 0%,#17294659 55%,#1729461c 100%),var(--home-hero-image);background-position:center;background-size:cover;border-radius:6px;overflow:hidden}
body:not(.admin-mode) .market-home-page .market-home-hero-reference>div:first-child{position:relative;z-index:1;max-width:760px}
body:not(.admin-mode) .market-home-page .market-home-hero-reference .market-eyebrow{margin:0 0 12px;color:#fff!important;font:600 14px/20px Inter,Arial,sans-serif;letter-spacing:0;text-transform:none}
body:not(.admin-mode) .market-home-page .market-home-hero-reference h1{margin:0;color:#fff;font:700 32px/40px Manrope,Arial,sans-serif;letter-spacing:0}
body:not(.admin-mode) .market-home-page .market-home-hero-reference>div:first-child>p:not(.market-eyebrow){max-width:560px;margin:12px 0 24px;color:#fff;font:400 16px/24px Inter,Arial,sans-serif}
body:not(.admin-mode) .market-home-page .market-home-hero-reference .market-search-panel{max-width:760px;padding:8px;border:1px solid #ffffff66;background:#ffffff1c;border-radius:6px;grid-template-columns:1.2fr 1fr 1fr auto}
body:not(.admin-mode) .market-home-page .market-home-hero-reference .market-search-panel select{height:48px;border-radius:4px;font-size:14px}
body:not(.admin-mode) .market-home-page .market-home-hero-reference .market-search-panel .primary{height:48px;background:#0865f5;color:#fff;border:1px solid #0865f5;border-radius:4px;font-size:14px;font-weight:600}
body:not(.admin-mode) .market-home-page .market-categories{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
body:not(.admin-mode) .market-home-page .market-categories button{min-height:104px;padding:20px;border-radius:6px;box-shadow:none}
body:not(.admin-mode) .market-home-page .market-categories button>svg{display:block;width:28px;height:28px;margin-bottom:16px;color:#0865f5}
body:not(.admin-mode) .market-home-page .market-categories b{font:700 16px/20px Manrope,Arial,sans-serif;color:#18202c}
body:not(.admin-mode) .market-home-page .market-categories span{margin-top:4px;color:#64717d;font:400 14px/20px Inter,Arial,sans-serif}
body:not(.admin-mode) .market-home-page .market-category-count{top:18px;right:18px;transform:none;color:#0865f5;font:600 12px/16px Inter,Arial,sans-serif}
body:not(.admin-mode) .market-home-page .market-section{margin-top:48px}
body:not(.admin-mode) .market-home-page .market-section-head{margin-bottom:16px}
body:not(.admin-mode) .market-home-page .market-section-head h2{font:700 24px/32px Manrope,Arial,sans-serif;color:#18202c}
body:not(.admin-mode) .market-home-page .market-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body:not(.admin-mode) .market-home-page .market-card{border-radius:6px;box-shadow:none;transform:none}
body:not(.admin-mode) .market-home-page .market-card:hover{box-shadow:none;transform:none}
body:not(.admin-mode) .market-home-page .market-card .market-card-gallery>.gallery-main{height:auto;aspect-ratio:16/9}
body:not(.admin-mode) .market-home-page .market-card-body{padding:16px}
body:not(.admin-mode) .market-home-page .market-card h3{font:700 16px/20px Manrope,Arial,sans-serif}
body:not(.admin-mode) .market-home-page .home-district-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body:not(.admin-mode) .market-home-page .home-district-links a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:8px;border-bottom:1px solid #dce2e7;color:#18202c;text-decoration:none}
body:not(.admin-mode) .market-home-page .home-district-links img{width:48px;height:48px;border-radius:4px;object-fit:cover}
body:not(.admin-mode) .market-home-page .home-district-links span{font:600 14px/20px Inter,Arial,sans-serif}
body:not(.admin-mode) .market-home-page .home-district-links b{color:#0865f5;font-size:20px;font-weight:400}
@media(max-width:900px){body:not(.admin-mode) .market-home-page .market-categories{grid-template-columns:repeat(2,minmax(0,1fr))}body:not(.admin-mode) .market-home-page .home-district-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body:not(.admin-mode) .market-home-page{padding-top:24px}body:not(.admin-mode) .market-home-page .market-home-hero-reference{min-height:520px;padding:24px 16px}body:not(.admin-mode) .market-home-page .market-home-hero-reference h1{font-size:24px;line-height:32px}body:not(.admin-mode) .market-home-page .market-home-hero-reference .market-search-panel{grid-template-columns:1fr;gap:8px}body:not(.admin-mode) .market-home-page .market-home-hero-reference .market-search-panel .primary{grid-column:auto}body:not(.admin-mode) .market-home-page .market-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}body:not(.admin-mode) .market-home-page .market-section{margin-top:32px}body:not(.admin-mode) .market-home-page .market-section-head h2{font-size:20px;line-height:28px}}
@media(max-width:560px){body:not(.admin-mode) .market-home-page .market-home-hero-reference{min-height:560px;padding:20px 12px}body:not(.admin-mode) .market-home-page .market-home-hero-reference>div:first-child>p:not(.market-eyebrow){font-size:14px;line-height:20px}body:not(.admin-mode) .market-home-page .market-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body:not(.admin-mode) .market-home-page .market-categories button{min-height:112px;padding:14px}body:not(.admin-mode) .market-home-page .market-categories button>svg{width:24px;height:24px;margin-bottom:12px}body:not(.admin-mode) .market-home-page .market-grid{gap:12px}body:not(.admin-mode) .market-home-page .market-card-body{padding:12px}body:not(.admin-mode) .market-home-page .home-district-links{grid-template-columns:1fr}}
