.pcm-wrap{display:flex; gap:12px; width:100%;}
.pcm-sidebar{width:320px; max-width:40vw; border:1px solid #ddd; border-radius:10px; overflow:hidden; background:#fff;}
.pcm-sidebar.pcm-collapsed{width:44px; max-width:44px;}
.pcm-sidebar .pcm-side-inner{display:flex; flex-direction:column; height:100%;}
.pcm-side-topbar{display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid #eee;}
.pcm-side-title{font-weight:700;}
.pcm-side-toggle{cursor:pointer; border:1px solid #ddd; border-radius:8px; padding:6px 8px; background:#fafafa;}
.pcm-side-sections{overflow:auto; max-height:70vh;}
.pcm-section{border-bottom:1px solid #f0f0f0;}
.pcm-section-header{display:flex; align-items:center; justify-content:space-between; padding:10px 12px; cursor:pointer;}
.pcm-section-header strong{font-weight:700;}
.pcm-section-body{padding:0 12px 12px 12px;}
.pcm-section.pcm-section-collapsed .pcm-section-body{display:none;}
.pcm-row{display:flex; align-items:center; gap:10px; margin:8px 0;}
.pcm-dot{width:10px; height:10px; border-radius:50%; display:inline-block; border:1px solid rgba(0,0,0,.15);}
.pcm-filter-actions{display:flex; gap:8px; flex-wrap:wrap; margin:8px 0;}
.pcm-btn{cursor:pointer; border:1px solid #ddd; border-radius:8px; padding:6px 10px; background:#fafafa; font-size:13px; text-decoration:none; color:inherit;}
.pcm-btn:active{transform:translateY(1px);}
.pcm-list{list-style:none; margin:0; padding:0;}
.pcm-list li{border:1px solid #eee; border-radius:10px; padding:10px; margin:10px 0; cursor:pointer;}
.pcm-list li:hover{background:#fafafa;}
.pcm-item{display:flex; gap:10px; align-items:flex-start;}
.pcm-item-thumb{width:46px; height:46px; border-radius:10px; border:1px solid #eee; object-fit:cover; flex:0 0 auto; background:#fff;}
.pcm-item-main{flex:1; min-width:0;}
.pcm-item-title{font-weight:700; margin:0 0 4px 0;}
.pcm-item-meta{font-size:12px; opacity:.8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pcm-item-meta .pcm-dot{vertical-align:-1px; margin-right:6px;}
.pcm-map-area{flex:1; min-width:260px;}
.pcm-map{width:100%; border:1px solid #ddd; border-radius:10px; overflow:hidden;}
.pcm-map, .pcm-card{background:#fff;}
.pcm-card{width:380px; max-width:40vw; border:1px solid #ddd; border-radius:10px; overflow:hidden; display:flex; flex-direction:column;}
.pcm-card.pcm-card-hidden{display:none;}
.pcm-card-header{display:flex; align-items:flex-start; justify-content:space-between; padding:12px; border-bottom:1px solid #eee; gap:10px;}
.pcm-card-title{font-weight:800; font-size:16px; margin:0;}
.pcm-card-close{cursor:pointer; border:1px solid #ddd; border-radius:8px; padding:6px 8px; background:#fafafa;}
.pcm-badges{display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;}
.pcm-badge{display:inline-flex; align-items:center; gap:6px; font-size:12px; border:1px solid #eee; border-radius:999px; padding:4px 8px; background:#fafafa;}
.pcm-card-body{padding:12px; overflow:auto; max-height:70vh;}
.pcm-addr{font-size:13px; margin:0 0 10px 0; opacity:.9;}
.pcm-desc{font-size:14px; line-height:1.4;}
.pcm-gallery{display:flex; gap:8px; overflow:auto; padding-bottom:4px; margin:0 0 10px 0;}
.pcm-gallery img{height:90px; border-radius:10px; border:1px solid #eee;}
.pcm-card-actions{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;}
@media (max-width: 960px){
  .pcm-wrap{flex-direction:column;}
  .pcm-sidebar{width:100%; max-width:none;}
  .pcm-sidebar.pcm-collapsed{width:100%; max-width:none;}
  .pcm-card{width:100%; max-width:none;}
}
