/* Portal del cliente · tablas, lista de dos líneas, píldoras, seguimiento, gráficas y detalle. */
.lm .pt-tabla { background: var(--lm-glass); border: 1px solid var(--lm-glass-bd); border-radius: 18px; box-shadow: var(--lm-shadow); padding: var(--sp-3); margin-bottom: var(--sp-4); }
.lm .pt-tabla--lig { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 0; }
.lm .pt-tb { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-1) var(--sp-1) var(--sp-3); }
.lm .pt-tb__a { display: flex; gap: var(--sp-2); margin-left: auto; }
.lm .pt-ord { display: inline-flex; }
.lm .pt-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.lm .pt-chip {
  min-height: 44px;
  padding: 0 var(--sp-4);
  border-radius: 999px;
  border: 1px solid var(--lm-line);
  background: var(--lm-solid);
  color: var(--lm-ink-2);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.lm .pt-chip:hover { color: var(--lm-blue); }
.lm .pt-chip[aria-pressed=true] { color: var(--lm-blue-2); font-weight: 800; border-color: var(--lm-blue); background: var(--lm-blue-soft); }
.lm .pt-tw { display: none; overflow-x: auto; background: var(--lm-solid); border: 1px solid var(--lm-line); border-radius: 14px; }
.lm .pt-t { width: 100%; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.lm .pt-t th {
  background: var(--lm-surface-2);
  border-bottom: 1px solid var(--lm-line);
  text-align: left;
  padding: 0;
  height: 44px;
  font-weight: 600;
  font-size: 13px;
  color: var(--lm-ink-2);
  white-space: nowrap;
}
.lm .pt-t th.pt-r { text-align: right; }
.lm .pt-th {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  min-height: 44px;
  width: 100%;
  padding: 0 var(--sp-3);
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  justify-content: inherit;
}
.lm .pt-th:hover { color: var(--lm-blue); }
.lm .pt-th i { font-style: normal; font-size: 12px; min-width: 12px; color: var(--lm-blue); }
.lm .pt-t th[aria-sort=ascending] .pt-th, .lm .pt-t th[aria-sort=descending] .pt-th { color: var(--lm-blue); font-weight: 800; }
.lm .pt-t td { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--lm-line-2); min-height: 44px; vertical-align: middle; }
.lm .pt-t tr:last-child td { border-bottom: 0; }
.lm .pt-t td.pt-r { text-align: right; }
 .lm .pt-t td[data-l=""] { display: none; }
.lm .pt-t tr.pt-click:hover td:first-child { color: var(--lm-blue); }
.lm .pt-lista { list-style: none; margin: 0; padding: 0; display: none; }
.lm .pt-lista--tabla { display: block; background: var(--lm-solid); border: 1px solid var(--lm-line); border-radius: 14px; }
.lm .pt-lista--card { display: block; }
.lm .pt-lista li { padding: var(--sp-3) var(--sp-4); min-height: 62px; border-bottom: 1px solid var(--lm-line-2); display: grid; gap: var(--sp-1); align-content: center; }
.lm .pt-lista li:last-child { border-bottom: 0; }
.lm .pt-lista--card li { padding-left: 0; padding-right: 0; }
.lm .pt-li1, .lm .pt-li2 { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-3); min-width: 0; }
.lm .pt-li1 { font-weight: 600; font-size: 15px; }
 .lm .pt-li2 { font-size: 13px; color: var(--lm-ink-2); }
.lm .pt-li__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lm .pt-pie {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-1) var(--sp-1);
  font-size: 13px;
  color: var(--lm-ink-2);
}
.lm .pt-seg { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--lm-line); border-radius: 999px; background: var(--lm-solid); }
.lm .pt-seg button { min-width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--lm-ink-2); font-weight: 600; font-size: 14px; }
.lm .pt-seg button:hover { color: var(--lm-blue); }
.lm .pt-seg button[aria-checked=true] { color: var(--lm-blue-2); font-weight: 800; background: var(--lm-blue-soft); }
.lm .pt-pag { display: inline-flex; align-items: center; gap: var(--sp-2); }
.lm .pt-pag__n { min-width: 96px; text-align: center; white-space: nowrap; }
.lm .pt-vacio { padding: var(--sp-6) var(--sp-4); text-align: center; display: grid; gap: var(--sp-1); background: var(--lm-solid); border: 1px solid var(--lm-line); border-radius: 14px; }
.lm .pt-vacio b { font: 700 17px var(--lm-display); }
 .lm .pt-vacio p { margin: 0; color: var(--lm-ink-2); }
/* píldoras de estado (texto + punto: nunca solo color) */
.lm .pt-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; line-height: 1.3; }
.lm .pt-pill i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.lm .pt-ok { color: var(--lm-ok); }
 .lm .pt-pill.pt-ok { background: var(--lm-ok-soft); }
.lm .pt-info { background: var(--lm-blue-soft); color: var(--lm-blue-2); }
.lm .pt-warn { background: var(--lm-warn-soft); color: var(--lm-warn); }
.lm .pt-pill.pt-bad { background: var(--lm-red-soft); color: var(--lm-red); }
.lm .pt-neutral { background: var(--lm-surface-2); color: var(--lm-ink-2); }
/* seguimiento: Confirmado → Preparando → En ruta → Entregado */
.lm .pt-ped { padding: var(--sp-3) 0; border-bottom: 1px solid var(--lm-line-2); display: grid; gap: var(--sp-3); }
.lm .pt-ped:last-child { border-bottom: 0; }
.lm .pt-ped header, .lm .pt-ped footer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); }
.lm .pt-ped footer { justify-content: space-between; color: var(--lm-ink-2); font-size: 14px; }
.lm .pt-track { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.lm .pt-track li { position: relative; display: grid; justify-items: center; gap: var(--sp-2); font-size: 12px; font-weight: 600; color: var(--lm-ink-3); text-align: center; }
.lm .pt-track li span { white-space: nowrap; }
.lm .pt-track li i {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid var(--lm-line);
  background: var(--lm-solid);
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
}
.lm .pt-track li:not(:first-child)::before { content: ""; position: absolute; top: 12px; right: 50%; width: 100%; height: 2px; background: var(--lm-line); }
.lm .pt-track li.done i { background: var(--lm-ok); border-color: var(--lm-ok); color: #fff; }
 .lm .pt-track li.done { color: var(--lm-ink); }
.lm .pt-track li.done::before, .lm .pt-track li.on::before { background: var(--lm-ok); }
.lm .pt-track li.on i { border-color: var(--lm-blue); background: var(--lm-blue-soft); box-shadow: 0 0 0 4px var(--lm-blue-soft); }
.lm .pt-track li.on { color: var(--lm-blue); font-weight: 800; }
.lm .pt-track .pt-ico { width: 14px; height: 14px; }
/* gráficas */
.lm .pt-ring { display: grid; gap: var(--sp-4); justify-items: center; }
.lm .pt-ring__fig { position: relative; width: 168px; height: 168px; }
.lm .pt-ring__fig svg { width: 100%; height: 100%; display: block; }
.lm .pt-ring__c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; padding: 0 28px; }
.lm .pt-ring__c b { font: 700 30px/1 var(--lm-display); }
 .lm .pt-ring__c small { font-size: 12px; color: var(--lm-ink-2); white-space: nowrap; }
.lm .pt-leg { list-style: none; margin: 0; padding: 0; width: 100%; display: grid; }
.lm .pt-leg li { display: flex; align-items: center; gap: var(--sp-3); min-height: 36px; font-size: 14px; border-bottom: 1px solid var(--lm-line-2); }
.lm .pt-leg li:last-child { border-bottom: 0; }
 .lm .pt-leg i { width: 12px; height: 12px; border-radius: 4px; flex: none; }
.lm .pt-leg__t { flex: 1; min-width: 0; }
 .lm .pt-leg b { font-variant-numeric: tabular-nums; }
.lm .pt-leg__tot { font-weight: 700; }
.lm .pt-line { width: 100%; min-height: 200px; }
 .lm .pt-line svg { display: block; max-width: 100%; }
.lm .pt-svgt { font: 12px var(--lm-font); fill: var(--lm-ink-3); }
.lm .pt-dot { fill: var(--lm-surface); stroke: var(--lm-blue); stroke-width: 2.5; }
/* detalle */
.lm .pt-totales { margin: var(--sp-4) 0 0; display: grid; gap: var(--sp-2); max-width: 360px; margin-left: auto; }
.lm .pt-totales div { display: flex; justify-content: space-between; gap: var(--sp-4); }
 .lm .pt-totales dt { color: var(--lm-ink-2); }
 .lm .pt-totales dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lm .pt-totales__t { border-top: 2px solid var(--lm-ink); padding-top: var(--sp-2); font-size: 18px; }
 .lm .pt-totales__t dt { color: var(--lm-ink); font-weight: 700; }
 .lm .pt-totales__t dd { font-weight: 800; }
.lm .pt-ref {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-radius: 14px;
  background: var(--lm-gold-soft);
  color: var(--lm-gold-ink);
  margin: var(--sp-3) 0;
}
.lm .pt-ref__l { font-size: 13px; font-weight: 600; }
 .lm .pt-ref__v { font-size: 20px; letter-spacing: .04em; flex: 1; min-width: 0; white-space: nowrap; }
.lm .pt-bancos { list-style: none; margin: var(--sp-3) 0 0; padding: 0; display: grid; gap: var(--sp-3); }
.lm .pt-bancos li {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--sp-1) var(--sp-3);
  align-items: center;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--lm-line);
  border-radius: 14px;
  background: var(--lm-solid);
}
.lm .pt-bancos li > b, .lm .pt-bancos li > span, .lm .pt-bancos li > small { grid-column: 1; }
 .lm .pt-bancos li > button { grid-column: 2; grid-row: 1 / span 3; }
 .lm .pt-bancos small { color: var(--lm-ink-2); }
.lm .pt-tabs { display: flex; gap: var(--sp-2); border-bottom: 1px solid var(--lm-line); margin: 0 0 var(--sp-4); overflow-x: auto; }
.lm .pt-tab {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 var(--sp-4);
  color: var(--lm-ink-2);
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.lm .pt-tab:hover { color: var(--lm-blue); }
 .lm .pt-tab[aria-selected=true] { color: var(--lm-blue); font-weight: 800; border-bottom-color: var(--lm-blue); }
@media (min-width: 720px) {
.lm .pt-tw { display: block; }
.lm .pt-lista--tabla { display: none; }
.lm .pt-ord { display: none; }
.lm .pt-ring { grid-template-columns: auto 1fr; align-items: center; justify-items: stretch; }
.lm .pt-ring__fig { justify-self: center; }
.lm .pt-bancos li { grid-template-columns: 1.2fr 1.4fr 1.4fr auto; }
.lm .pt-bancos li > b, .lm .pt-bancos li > span, .lm .pt-bancos li > small { grid-column: auto; }
.lm .pt-bancos li > button { grid-column: auto; grid-row: auto; }
}
.lm .pt-sel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  width: 100%;
  min-height: 44px;
  padding: 0 var(--sp-3);
  border-radius: 12px;
  border: 1px solid var(--lm-line);
  background: var(--lm-solid);
  color: var(--lm-ink);
  font-size: 16px;
  text-align: left;
}
.lm .pt-sel__v { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .lm .pt-sel .pt-ico { width: 18px; height: 18px; color: var(--lm-ink-3); }
.lm .pt-sel:hover .pt-sel__v { color: var(--lm-blue); }
.lm .pt-pop--sel { min-width: 260px; max-height: min(60vh, 420px); overflow: auto; }
 .lm .pt-pop__l { display: grid; }
.lm .pt-pop__q {
  margin: var(--sp-1);
  min-height: 44px;
  padding: 0 var(--sp-3);
  border-radius: 10px;
  border: 1px solid var(--lm-line);
  background: var(--lm-solid);
  color: var(--lm-ink);
  font-size: 16px;
}
.lm .pt-pop [hidden] { display: none !important; }
.lm .pt-kpi--ult { display: flex; flex-direction: column; }
.lm .pt-kpi--ult .pt-btn { margin-top: auto; align-self: flex-start; }
.lm .pt-kpi__d { margin: var(--sp-2) 0 var(--sp-4); display: grid; gap: var(--sp-1); font-size: 14px; color: var(--lm-ink-2); }
@media (max-width: 719.98px) {
.lm .pt-pag__t { display: none; }
.lm .pt-pag .pt-btn { padding: 0; min-width: 44px; }
.lm .pt-pag__n { min-width: 0; }
}
.lm select.lm-sr { width: 1px; max-width: 1px; min-width: 0; left: 0; padding: 0; border: 0; }
