/* Establecimientos — rediseño visual claro (2026-09-22)
   Alcance deliberadamente limitado a #page-locations para no alterar otros módulos. */
#page-locations{
  --loc-ink:#153250;
  --loc-muted:#70859a;
  --loc-border:#dbe5ed;
  --loc-surface:#ffffff;
  --loc-soft:#f3f7fa;
  --loc-soft-2:#edf4f7;
  --loc-teal:#0d7773;
  --loc-teal-soft:#e7f5f3;
  --loc-danger:#b52531;
  --loc-danger-dark:#931c27;
}

#page-locations .page-title{
  align-items:center;
  margin-bottom:22px;
}

#page-locations .page-title h1{
  color:var(--loc-ink);
  font-size:clamp(30px,3vw,42px);
  letter-spacing:-.035em;
}

#page-locations .page-title .muted{
  display:block;
  margin-top:4px;
  color:var(--loc-muted);
  font-size:14px;
}

#page-locations #addLocation{
  border:1px solid #0eaa98;
  background:linear-gradient(180deg,#19b9a6,#0da891);
  color:#fff;
  box-shadow:0 8px 20px rgba(13,168,145,.18);
}

#page-locations #addLocation:hover{
  background:linear-gradient(180deg,#17ae9d,#0b9785);
}

#page-locations .location-management-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

#page-locations .location-management-card{
  padding:20px;
  border:1px solid var(--loc-border);
  border-radius:18px;
  background:var(--loc-surface);
  color:var(--loc-ink);
  box-shadow:0 8px 24px rgba(20,50,80,.06);
}

#page-locations .location-management-card:hover{
  border-color:#c9d8e3;
  box-shadow:0 12px 30px rgba(20,50,80,.09);
}

#page-locations .location-management-card.inactive{
  opacity:.62;
}

#page-locations .location-card-head{
  display:flex;
  align-items:center;
  gap:12px;
}

#page-locations .location-type-icon{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:13px;
  background:var(--loc-teal-soft);
  color:var(--loc-teal);
  font-size:22px;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(13,119,115,.05);
}

#page-locations .location-heading{
  min-width:0;
}

#page-locations .location-heading small{
  display:block;
  color:#70879b;
  font-size:9px;
  font-weight:900;
  letter-spacing:.035em;
}

#page-locations .location-heading h2{
  margin:3px 0 0;
  color:var(--loc-ink);
  font-size:20px;
  line-height:1.15;
  letter-spacing:-.015em;
}

#page-locations .location-code{
  margin-left:auto;
  padding:6px 10px;
  border:1px solid #d7e3ea;
  border-radius:9px;
  background:#f5f8fa;
  color:#6e8ca1;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}

#page-locations .location-address{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:auto;
  margin:11px 0 17px;
  color:var(--loc-muted);
  font-size:12px;
  line-height:1.4;
}

#page-locations .location-address>span{
  color:#5f7e98;
  font-size:16px;
}

#page-locations .location-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}

#page-locations .location-stat{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
  min-height:58px;
  padding:10px 12px;
  border:1px solid #edf2f5;
  border-radius:10px;
  background:linear-gradient(180deg,#f5f8fa,#eef4f7);
  color:var(--loc-muted);
}

#page-locations .location-stat i{
  grid-row:1/3;
  align-self:center;
  color:#4b8ba5;
  font-size:20px;
  font-style:normal;
}

#page-locations .location-stat em{
  color:#71879a;
  font-size:10px;
  font-style:normal;
  line-height:1.15;
}

#page-locations .location-stat b{
  margin:1px 0 0;
  color:#12304d;
  font-size:14px;
  line-height:1.1;
}

#page-locations .location-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:16px;
}

#page-locations .location-actions .btn{
  min-width:92px;
  border-radius:10px;
  padding:9px 13px;
  font-size:12px;
  font-weight:800;
}

#page-locations .location-actions .btn.ghost{
  border:1px solid #cdd9e2;
  background:#fff;
  color:#294761;
  box-shadow:none;
}

#page-locations .location-actions .btn.ghost:hover{
  border-color:#aebfcb;
  background:#f7fafc;
}

#page-locations .location-actions .btn.danger{
  border:1px solid var(--loc-danger);
  background:linear-gradient(180deg,#c72d39,var(--loc-danger));
  color:#fff;
  box-shadow:0 6px 14px rgba(181,37,49,.15);
}

#page-locations .location-actions .btn.danger:hover{
  background:linear-gradient(180deg,#b92935,var(--loc-danger-dark));
}

@media(max-width:980px){
  #page-locations .location-management-grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  #page-locations .page-title{align-items:stretch;gap:14px}
  #page-locations #addLocation{width:100%}
  #page-locations .location-management-card{padding:16px;border-radius:16px}
  #page-locations .location-meta{grid-template-columns:1fr 1fr}
  #page-locations .location-stat:last-child{grid-column:1/-1}
  #page-locations .location-actions{display:grid;grid-template-columns:1fr 1fr}
  #page-locations .location-actions .btn{width:100%}
}


#page-locations .location-type-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
