.map-workspace { display: grid; grid-template-columns: 1fr; gap: 14px; align-items: stretch; position: relative; }
.panel { padding: 16px; min-width: 0; }
.panel-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.panel-title span { color: #9eb0a6; font-size: 12px; }
.panel-actions { display: flex; align-items: center; gap: 8px; }
.filter-panel label { display: block; font-size: 12px; color: var(--fb-dark-secondary); margin: 14px 0 7px; }
.filter-drawer { position: fixed; z-index: 1200; top: 20px; right: 20px; bottom: 20px; width: min(420px, calc(100vw - 48px)); overflow: auto; transform: translateX(calc(100% + 34px)); opacity: 0; pointer-events: none; transition: transform .18s ease, opacity .18s ease; background: #0b1512; border-color: rgba(123,213,111,.2); box-shadow: 0 28px 80px rgba(0,0,0,.58); backdrop-filter: none; }
.filter-drawer.open { transform: translateX(0); opacity: 1; pointer-events: auto; }
.drawer-scrim { position: fixed; z-index: 1190; inset: 0; border: 0; background: rgba(0,0,0,.42); backdrop-filter: blur(3px); cursor: pointer; }
.drawer-subtitle { color: #e8b34f; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; margin: -4px 0 12px; }
.filter-sample-note { display: grid; gap: 5px; margin: 0 0 14px; padding: 11px 12px; border-radius: 8px; border: 1px solid rgba(232,179,79,.26); background: #172012; color: #dbe8dc; }
.filter-sample-note strong { color: #f0d282; font-size: 13px; }
.filter-sample-note span { color: #b8c7bd; font-size: 12px; line-height: 1.45; }
.layer-strip { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; padding: 12px 14px; }
.layer-strip div { margin-right: auto; }
.layer-strip span { display: block; color: var(--fb-dark-muted); font-size: 12px; }
.layer-strip strong { display: block; }
.layer-strip label { display: inline-flex; align-items: center; gap: 7px; color: #cbd8d0; font-size: 12px; white-space: nowrap; }
.layer-strip input { accent-color: #7bd56f; }
.boundary-source-control { margin-left: 0; margin-right: 8px !important; padding: 8px 10px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); }
.boundary-source-control span, .boundary-source-card p { color: var(--fb-dark-muted); }
.boundary-source-control strong { color: #f0d282; }
.boundary-source-card { margin: 8px 0 14px; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.boundary-source-card strong { display: block; color: var(--fb-dark-text); margin-bottom: 6px; }
.boundary-source-card p { margin: 0; font-size: 12px; line-height: 1.45; }
