/* Shared working frame: the same map position on the catalog and campaign. */
:root{--workspace-top-height:116px;--workspace-map-height:clamp(420px,calc(100svh - 210px),760px)}
.workspace-layout,.cabinet-page .cabinet-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:24px;align-items:start}
.explore-section.workspace-layout,.cabinet-page #cabinet-root{padding-top:18px}
.workspace-sidebar,.workspace-content{min-width:0}
.workspace-sidebar{position:sticky;top:18px}
.workspace-navigation{display:flex;flex-direction:column;gap:14px}
.workspace-navigation .media-switch{display:grid;grid-template-columns:1fr;gap:6px;margin:0}
.workspace-navigation .media-option{min-height:66px;height:66px;gap:10px;padding:10px 12px;border:1px solid transparent;background:transparent;border-radius:9px;flex-direction:row;text-align:left;justify-content:flex-start;box-shadow:none}
.workspace-navigation .media-option>span:nth-child(2){min-width:0}
.workspace-navigation .media-option strong{font-size:14px;font-weight:500;line-height:20px;white-space:nowrap}
.workspace-navigation .media-option small{font-size:12px;line-height:16px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-navigation .media-option-icon{width:20px;height:24px;background:none;color:var(--muted)}
.workspace-navigation .media-option-icon svg{width:19px;height:19px}
.workspace-navigation .media-option.active{background:var(--brand-soft);border-color:#d9e6f6;color:var(--brand-dark)}
.workspace-navigation .media-option.active .media-option-icon{background:none;color:var(--brand)}
.workspace-navigation .media-option:hover,.workspace-nav-link:hover{background:#eaf2fd}
.workspace-navigation .medium-selected{position:absolute;right:5px;top:5px;min-width:18px;height:18px;font-size:11px;padding:0 4px}
.workspace-account-actions{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--line)}
.workspace-nav-link{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap}
.workspace-nav-link svg{width:19px;height:19px}
.workspace-nav-link.active{background:var(--brand-soft);color:var(--brand-dark)}
.workspace-nav-link.workspace-new{color:var(--brand-dark);border-color:#d9e6f6;background:#fff}
.workspace-prelude{height:var(--workspace-top-height);min-height:var(--workspace-top-height);box-sizing:border-box;padding-bottom:12px}
.catalog-prelude{display:block}
.workspace-prelude .intro{display:flex;margin:0;align-items:center;min-width:0}
.workspace-prelude .intro h1{font-size:24px;line-height:30px;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-prelude .intro-owner{display:none}
.workspace-prelude .map-controls{padding-bottom:0;min-width:0}
.workspace-prelude .search-bar{height:52px;margin:0;padding:4px;gap:4px;display:flex;flex-wrap:nowrap}
.workspace-prelude .search-autocomplete{min-width:0;flex:1}
.workspace-prelude .search-field{min-width:0;min-height:42px;padding-inline:10px}
.workspace-prelude .search-field input{min-width:0;width:100%}
.workspace-prelude .select-field{width:152px;min-width:152px;height:40px;padding-inline:8px}
.workspace-prelude .search-bar>.button{min-height:42px;margin:0;font-size:14px;padding:8px 12px}
.workspace-prelude .map-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;margin-top:8px}
.workspace-prelude .filter-chips{grid-column:1;grid-row:1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.workspace-prelude .filter-chips::-webkit-scrollbar{display:none}
.workspace-prelude .bulk-select{grid-column:2;grid-row:1}
.workspace-prelude .selection-link{grid-column:3;grid-row:1;white-space:nowrap}
.workspace-prelude .catalog-view{grid-column:4;grid-row:1}
.workspace-content>.map-workspace,.cabinet-page .campaign-map-view{height:var(--workspace-map-height)}
.cabinet-page .campaign-prelude{display:grid;grid-template-rows:minmax(0,1fr) 40px 44px;gap:0}
.cabinet-page .campaign-detail-head{margin:0;min-width:0;gap:12px;align-items:center}
.cabinet-page .campaign-detail-head>div{min-width:0;flex:1}
.cabinet-page .campaign-detail-head h2{font-size:24px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}
.cabinet-page .campaign-detail-head p{font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cabinet-page .campaign-detail-head .button{flex:none;min-height:42px;padding:8px 12px;font-size:14px;margin:0}
.cabinet-page .campaign-prelude .detail-tabs{margin:0;align-self:stretch}
.cabinet-page .campaign-prelude .detail-tabs button{padding:8px 0}
.cabinet-page .campaign-map-heading{height:44px;margin:0;flex-wrap:nowrap;align-items:center}
.cabinet-page .campaign-map-heading h3{font-size:16px;margin:0}
.cabinet-page .campaign-map-heading .button{min-height:36px;padding:6px 10px;font-size:13px}
.cabinet-page .campaign-locations-panel{padding:0;background:transparent;border:0;box-shadow:none}
.campaign-address-list{padding:4px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:14px}
.cabinet-page .campaign-map-block{margin:0}
.cabinet-section-nav,.campaign-type-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.cabinet-section-nav button,.campaign-type-filters button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fff;min-height:40px;padding:8px 12px;font-size:14px}
.cabinet-section-nav button.active,.campaign-type-filters button.active{color:var(--brand-dark);background:var(--brand-soft);border-color:#bad2ef}
.workspace-member #how,.workspace-member #owners{display:none}
/* Both header variants reserve the same height, including their mobile second row. */
.site-header{height:76px}
.header-inner{height:100%;padding-block:4px}
@media(max-width:1180px){
 .workspace-layout,.cabinet-page .cabinet-layout{grid-template-columns:184px minmax(0,1fr);gap:20px}
 .workspace-navigation .media-option{padding-inline:9px;gap:8px}
 .workspace-prelude .search-bar>.button{font-size:0;width:44px;min-width:44px;padding:10px}
 .workspace-prelude .search-bar>.button svg{width:20px;height:20px}
 .workspace-prelude .catalog-view .view-label{display:none}
 .workspace-prelude .select-field{width:140px;min-width:140px}
 .workspace-prelude .map-toolbar .chip{padding-inline:8px}
}
@media(max-width:900px){
 :root{--workspace-top-height:160px;--workspace-map-height:clamp(420px,calc(100svh - 346px),700px)}
 .workspace-layout,.cabinet-page .cabinet-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .workspace-sidebar,.cabinet-page .cabinet-sidebar{position:static;border:0;padding:0}
 .workspace-navigation{gap:8px;height:112px}
 .workspace-navigation .media-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .workspace-navigation .media-option{height:64px;min-height:64px;gap:8px;border-color:var(--line);background:#fff;padding:8px 10px}
 .workspace-account-actions{height:40px;grid-template-columns:1fr 1fr;gap:8px;border:0;padding:0}
 .workspace-nav-link{min-height:40px;height:40px;justify-content:center;padding:8px}
 .workspace-prelude .map-toolbar{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
 .workspace-prelude .filter-chips{grid-column:1;grid-row:1}
 .workspace-prelude .catalog-view{grid-column:2;grid-row:1}
 .workspace-prelude .bulk-select{grid-column:1;grid-row:2;justify-self:start}
 .workspace-prelude .selection-link{grid-column:2;grid-row:2;justify-self:end}
 .cabinet-page .campaign-prelude{grid-template-rows:minmax(0,1fr) 40px 44px}
}
@media(max-width:760px){
 .site-header{height:108px}
 .header-inner{display:flex;flex-wrap:wrap;align-content:center;gap:6px;padding-block:4px}
 .platform-stats{height:48px;min-height:48px;padding-top:3px}
 .platform-stats h1{line-height:30px;margin:0}
 :root{--workspace-map-height:clamp(420px,calc(100svh - 374px),640px)}
 .workspace-navigation .media-option{padding:8px 6px;gap:6px;justify-content:center}
 .workspace-navigation .media-option strong{font-size:13px}
 .workspace-navigation .media-option small{font-size:12px;max-width:150px}
 .workspace-prelude .intro h1{font-size:22px}
 .cabinet-page .campaign-detail-head h2{font-size:22px}
}
@media(max-width:600px){
 :root{--workspace-top-height:208px;--workspace-map-height:clamp(420px,calc(100svh - 418px),620px)}
 .workspace-navigation .media-option{flex-direction:column;gap:2px;text-align:center}
 .workspace-navigation .media-option-icon{height:18px}
 .workspace-navigation .media-option small{display:none}
 .workspace-navigation .media-option strong{font-size:13px;line-height:20px}
 .workspace-prelude .search-bar{display:grid;grid-template-columns:minmax(0,1fr) 44px;height:96px;align-content:start;gap:4px}
 .workspace-prelude .search-autocomplete{grid-column:1;grid-row:1}
 .workspace-prelude .search-bar>.button{grid-column:2;grid-row:1;height:42px;margin:0}
 .workspace-prelude .select-field{grid-column:1/-1;grid-row:2;width:100%;min-width:0;margin:0;border:0;border-top:1px solid var(--line);height:40px}
 .workspace-prelude .search-bar:has(#format-field[hidden]){height:52px;margin-bottom:44px}
 .workspace-prelude .map-toolbar .chip{font-size:13px;gap:4px}
 .workspace-prelude .selection-link{font-size:13px}
 .workspace-prelude .bulk-select{font-size:13px}
 .cabinet-page .campaign-detail-head{flex-wrap:wrap;gap:4px;align-content:center}
 .cabinet-page .campaign-detail-head>div{flex-basis:100%}
 .cabinet-page .campaign-detail-head .button{min-height:36px;height:36px;font-size:13px;padding:6px 10px}
 .cabinet-page .campaign-map-heading h3{font-size:14px}
 .cabinet-page .campaign-map-heading .button{padding:6px;font-size:12px}
 .campaign-map-controls{gap:4px;flex-wrap:nowrap}
 .campaign-map-heading .button svg{width:15px;height:15px}
 .campaign-address-list{padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.workspace-navigation *{transition:none!important}}

.campaign-map-loading{height:var(--workspace-map-height);background:#e8eef3}
.cabinet-page .campaign-map-view{height:calc(var(--workspace-map-height) - 2px)}
@media(max-width:600px){.cabinet-page .campaign-map-heading [data-campaign-map-fit]{font-size:0;width:36px;height:36px;padding:8px;gap:0}}

/* Compact campaign details retain the same map edge as the catalog. */
@media(min-width:601px){
 .cabinet-page .campaign-detail-head>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
 .cabinet-page .campaign-detail-head h2{grid-column:1;grid-row:1}
 .cabinet-page .campaign-detail-head .campaign-labels{grid-column:2;grid-row:1;justify-content:flex-end}
 .cabinet-page .campaign-detail-head p{grid-column:1/-1;grid-row:2}
}
/* The expanded collection uses the space previously occupied by city controls. */
.map-workspace:not(.list-view) .selection-tray.expanded .selection-summary{display:none}
.map-workspace:not(.list-view) .selection-panel{margin-top:0;max-height:calc(var(--selection-map-height,720px) - var(--selection-top,18px) - 24px)}
.map-workspace:not(.list-view) .selection-panel-heading{padding-block:10px}
.map-workspace:not(.list-view) .selection-panel-footer{padding:10px;gap:6px}
footer.workspace-footer{flex-wrap:nowrap;align-items:center;gap:24px;margin-top:16px;padding-block:8px;border-top:1px solid var(--line)}
footer.workspace-footer .footer-brand{flex:none;width:auto;min-height:44px}
footer.workspace-footer .footer-brand .brand-art{width:128px}
footer.workspace-footer .public-service-links{flex:0 1 auto;margin-left:auto;justify-content:flex-end;border:0;padding:0}
@media(max-width:600px){
 footer.workspace-footer{gap:16px;align-items:center}
 footer.workspace-footer .footer-brand .brand-art{width:104px}
 footer.workspace-footer .public-service-links{gap:0 12px}
 footer.workspace-footer .public-service-links a{font-size:14px;padding-block:2px}
}

/* Keep the catalog and campaign map aligned without a spare toolbar row. */
@media(min-width:901px){
 .cabinet-page .campaign-prelude{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:56px 44px;column-gap:16px;row-gap:4px}
 .cabinet-page .campaign-detail-head{grid-column:1/-1;grid-row:1}
 .cabinet-page .campaign-prelude .detail-tabs{grid-column:1;grid-row:2;gap:20px;min-width:0}
 .cabinet-page #campaign-location-toolbar{grid-column:2;grid-row:2;min-width:0}
 .cabinet-page .campaign-map-heading h3{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .cabinet-page .campaign-map-controls{flex-wrap:nowrap}
 .cabinet-page .campaign-map-heading{gap:0}
}
@media(max-width:600px){.cabinet-page .campaign-prelude{grid-template-rows:minmax(0,1fr) 36px 44px}.cabinet-page .campaign-detail-head{flex-direction:row;align-items:center;justify-content:flex-start}.cabinet-page .campaign-detail-head h2{margin:0}}
/* Reserve space for the fixed booking bar outside the compact footer. */
body.has-selection:has(>footer.workspace-footer){padding-bottom:100px}
body.has-selection footer.workspace-footer{padding-bottom:8px}
@media(max-width:680px){body.has-selection:has(>footer.workspace-footer){padding-bottom:132px}}
