.al-wrap{ display:flex; flex-direction:column; gap:12px; }
.al-controls{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.al-controls .al-search{ flex:1 1 280px; padding:8px; }
.al-btn{ padding:8px 12px; border:1px solid #ddd; background:#fff !important; color:#222 !important; cursor:pointer; border-radius:8px; font-weight:700; }
.al-btn:hover{ filter:brightness(0.98); }
.al-btn:focus{ outline:2px solid #c9c9ff; outline-offset:2px; }
.al-radius{ display:flex; align-items:center; gap:8px; margin-left:auto; }

.al-brands{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.al-brands > span{ margin-right:2px; }
.al-brand-pill{ display:flex; align-items:center; gap:8px; background:var(--al-brand, #6c757d); color:#fff; padding:6px 10px; border-radius:999px; border:1px solid rgba(0,0,0,.05); box-shadow:0 1px 0 rgba(255,255,255,.2) inset; }
.al-brand-pill .al-brand-name{ font-weight:700; letter-spacing:.02em; }
.al-brand-pill input{ accent-color:#ffffff; }
.al-brand-pill:not(.is-checked){ opacity:.45; }
.al-brand-pill:hover{ filter:brightness(1.05); }

.al-placeholder{ display:none; padding:14px; background:#f9fafb; border:1px dashed #dcdfe3; border-radius:10px; color:#555; }
.al-wrap.al-deferred .al-placeholder{ display:block; }
.al-body{ display:grid; grid-template-columns: 38% 62%; gap:12px; height: var(--al-map-height, 600px); }
.al-wrap.al-deferred .al-body{ display:none; }
.al-body.al-visible{ display:grid; }

#al-list{ height:100%; overflow:auto; background:#fff; border:1px solid #eee; border-radius:12px; padding:8px; }
#al-map{ height:100%; min-height:300px; border:1px solid #eee; border-radius:12px; }

.al-card{ border:1px solid #eee; border-radius:10px; padding:10px; margin-bottom:8px; background:#fff; transition: box-shadow .2s ease; cursor:pointer; }
.al-card:hover{ box-shadow:0 4px 16px rgba(0,0,0,.08); }
.al-card-head{ display:flex; align-items:center; gap:10px; }
.al-dots{ display:flex; gap:6px; }
.al-dot{ width:18px; height:18px; border-radius:50%; background:var(--al-dot, #3F51B5); box-shadow:0 0 0 3px rgba(0,0,0,.05) inset; flex:0 0 18px; }
.al-card-title{ font-weight:700; }
.al-card-meta{ color:#666; font-size:12px; margin:6px 0; }
.al-card-body{ color:#333; font-size:14px; white-space:pre-line; }
.al-card-actions{ display:flex; gap:12px; margin-top:10px; }
.al-ico{ width:36px; height:36px; border:1px solid #e6e6e6; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:#333; background:#fff; }
.al-ico:hover{ box-shadow:0 2px 8px rgba(0,0,0,.08); }

.al-empty{ padding:16px; color:#666; text-align:center; }

.al-pin svg{ filter: drop-shadow(0 2px 2px rgba(0,0,0,.2)); }

@media (max-width: 980px){
  .al-body{ grid-template-columns: 1fr; }
  #al-map{ order:-1; height:50vh; }
}
