/* Layout */
.sla-wrap{--gap:16px;--muted:#6b7280;margin:1rem 0;font-size:16px;line-height:1.45}
.sla-row{display:grid;gap:var(--gap)}
.sla-row--filters{grid-template-columns:repeat(5, minmax(0,1fr));align-items:end}
.sla-filters{margin-bottom:1rem}
.sla-field label{display:block;font-weight:600;margin-bottom:6px}
.sla-input-btn{display:flex;gap:8px}
.sla-input-btn input{flex:1}
.sla-field input, .sla-field select{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;background:#fff}
.sla-field.align-end{display:flex;align-items:flex-end}
.sla-map{width:100%;height:480px;margin:1.2rem 0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}

/* List + groups */
.sla-list{display:grid;grid-template-columns:1fr;gap:12px}
.sla-list.cols-2{grid-template-columns:1fr 1fr}
.sla-item{padding:16px 18px;border-radius:12px;background:#f7f7f7;border:1px solid #ececec}
/* equal columns + wider actions */
.sla-item-grid{display:grid;grid-template-columns:1.8fr 1.8fr 1.4fr 0.9fr;gap:12px;align-items:center}
.sla-title{margin:0;font-size:1.05rem}
.sla-title.is-bold .sla-link{font-weight:700}
.sla-title .sla-link{background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer}
.sla-titletxt.is-upper{text-transform:uppercase}
.sla-titletxt.is-bold{font-weight:700}
.sla-titlewrap{display:flex;flex-direction:column;gap:6px}
.sla-brands{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.sla-brand{display:inline-flex;gap:6px;align-items:center;font-size:.92em;color:#374151}
.sla-brand-ico{height:18px;width:auto}
.sla-addr, .sla-contact{color:#111}
.sla-addr div, .sla-contact div{margin:.15rem 0}
.sla-actions{display:flex;gap:.4rem;flex-wrap:nowrap;justify-self:end;align-items:center;min-width:210px}
.sla-actions .button{white-space:nowrap;padding:.35rem .6rem}
.sla-distance{color:var(--muted);font-size:.9em;margin-left:4px}

/* Grouped table */
.sla-group{padding:12px;border:1px solid #ececec;border-radius:12px;background:#fafafa}
.sla-group-title{display:flex;align-items:center;gap:8px;margin:.25rem 0 8px;font-size:1.1rem}
.sla-group-title .sla-brand-ico{height:22px;width:auto}
.sla-group-title .sla-brand-ico.block{display:block;height:28px;margin-bottom:6px}
.sla-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.sla-table thead th{font-weight:600;text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb}
.sla-table.no-head thead{display:none}
.sla-table tbody td{padding:8px 10px;border-bottom:1px solid #f0f0f0;vertical-align:middle}
.sla-table tbody td.td-addr{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sla-table tbody td.td-contact .nowrap{white-space:nowrap}
.sla-link.as-text{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:inherit;text-align:left}
.sla-table .actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.sla-table .actions .button{padding:.35rem .6rem}

@media (max-width: 1200px){
  .sla-row--filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sla-item-grid{grid-template-columns:1.6fr 1.6fr 1.2fr 1fr}
  .sla-list.cols-2{grid-template-columns:1fr}
}
@media (max-width: 800px){
  .sla-row--filters{grid-template-columns:1fr}
  .sla-item-grid{grid-template-columns:1fr;gap:8px}
  .sla-actions{justify-self:start;min-width:0}
}
.button-link{background:none;border:0;text-decoration:underline;padding:.4rem .5rem}
.muted{color:#6b7280}

.sla-debug{margin:1rem 0;padding:.75rem 1rem;border:1px dashed #9ca3af;border-radius:8px;background:#f9fafb}
.sla-debug summary{cursor:pointer;font-weight:600}

/* Card layout inside grouped table rows when list has 2 columns */
.sla-list.cols-2 .sla-group .sla-table tbody tr{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:
    "name name"
    "addr contact"
    "actions actions";
  gap:.5rem 2rem;
  padding:1rem 0;
}
.sla-list.cols-2 .sla-group .sla-table tbody tr td{border:0;background:transparent;padding:0}
.sla-list.cols-2 .sla-group .sla-table tbody tr .td-name{grid-area:name}
.sla-list.cols-2 .sla-group .sla-table tbody tr .td-addr{grid-area:addr}
.sla-list.cols-2 .sla-group .sla-table tbody tr .td-contact{grid-area:contact}
.sla-list.cols-2 .sla-group .sla-table tbody tr .actions{grid-area:actions;display:flex;gap:.5rem;align-items:center}
@media (max-width: 768px){
  .sla-list.cols-2 .sla-group .sla-table tbody tr{
    grid-template-columns: minmax(0,1fr);
    grid-template-areas:
      "name"
      "addr"
      "contact"
      "actions";
  }
}
/* No-results message styling */
.sla-list .sla-empty,
.sla-debug-empty{margin:.75rem 0;color:#6b7280}
