/* DM hereda tipografía, paleta, botones y estructura desde core. */
.dm-header{align-items:flex-start}.dm-load-info{display:block;margin-top:6px;color:#6f8490}.dm-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.dm-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.dm-filterbar{grid-template-columns:minmax(260px,2fr) minmax(130px,.7fr) minmax(160px,.85fr) auto auto;align-items:center}.dm-history-filterbar{grid-template-columns:minmax(260px,2fr) minmax(130px,.7fr) auto auto;align-items:center}.dm-search-control{display:flex;align-items:center;gap:8px;border:1px solid #bdc9d2;border-radius:8px;background:#fff;padding:0 10px}.dm-search-control input{border:0!important;padding-left:0!important;outline:0}.dm-search-control span{color:#758996}.dm-table-card table{min-width:1180px}.dm-history-table table{min-width:980px}.dm-detail-table table{min-width:680px}.dm-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dm-diff-quantity span{display:block;font-weight:800}.dm-diff-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.dm-diff-pill.sobrante{background:#e7f5ed;color:#147247}.dm-diff-pill.faltante{background:#fdebe8;color:#b83224}.dm-diff-pill.mixto{background:#fff1dc;color:#8a5500}.dm-diff-pill.sin_diff{background:#eef3f6;color:#637784}.dm-surplus{color:#147247}.dm-shortage{color:#b83224}.dm-location-link{font-weight:850;color:#005e93;text-decoration:none;white-space:nowrap}.dm-location-link:hover{text-decoration:underline}.dm-table-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.dm-pagination{display:flex;align-items:center;gap:6px}.dm-pagination a,.dm-pagination span{min-width:30px;height:30px;padding:0 8px;display:grid;place-items:center;border:1px solid #d6e1e7;border-radius:7px;background:#fff;color:var(--navy);text-decoration:none;font-weight:800}.dm-pagination .current{min-width:58px}.dm-pagination .disabled{opacity:.45}.dm-panel{margin-top:12px}.dm-panel-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px}.dm-panel-head h2{font-size:16px}.dm-mobile-list{display:none}.dm-mobile-card .mini-grid{grid-template-columns:1fr 1fr}
@media(max-width:1100px){.dm-kpi-grid,.dm-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-filterbar{grid-template-columns:1fr 1fr 1fr auto auto}}
@media(max-width:850px){.dm-filterbar,.dm-history-filterbar{grid-template-columns:1fr}.dm-kpi-grid,.dm-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dm-kpi-grid,.dm-detail-kpis{grid-template-columns:1fr}.desktop-table{display:none}.dm-mobile-list{display:grid;gap:10px}.dm-mobile-card{display:block}.dm-table-footer{flex-direction:column;align-items:flex-start}}

/* =========================================================
   RESUMEN DM - TARJETAS KPI CON ACABADO DIFF ANALYZER / KCC
   Replica la profundidad, sombra y hover del Resumen Diff.
   ========================================================= */
.dm-kpi-grid{
  gap:14px;
  margin-bottom:14px;
}
.dm-kpi-grid .kpi{
  position:relative;
  min-width:0;
  min-height:88px;
  padding:13px 12px 12px;
  border:1px solid #8aa9c4;
  border-top:4px solid #06386f;
  border-radius:6px;
  background:linear-gradient(155deg,#ffffff 0%,#f8fbfe 55%,#eef5fb 100%);
  box-shadow:0 7px 13px rgba(0,43,73,.17),0 2px 3px rgba(0,43,73,.10);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:translateY(0);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  overflow:hidden;
}
.dm-kpi-grid .kpi::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background:#06386f !important;
  z-index:1;
}
.dm-kpi-grid .kpi::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:5px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,0) 38%);
}
.dm-kpi-grid .kpi:hover{
  transform:translateY(-4px);
  border-color:#06386f;
  box-shadow:0 14px 25px rgba(0,43,73,.22),0 4px 8px rgba(0,43,73,.12);
}
.dm-kpi-grid .kpi span,
.dm-kpi-grid .kpi strong,
.dm-kpi-grid .kpi small{
  position:relative;
  z-index:2;
}
.dm-kpi-grid .kpi span{
  min-height:27px;
  color:#4d6172;
  font-size:10px;
  line-height:1.2;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}
.dm-kpi-grid .kpi strong{
  display:block;
  width:100%;
  margin-top:3px;
  color:#06386f;
  font-size:22px;
  line-height:1.08;
  font-weight:900;
  text-shadow:0 1px 0 #fff;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.dm-kpi-grid .kpi small{
  margin-top:3px;
  color:#6b7f8c;
  font-size:9px;
  line-height:1.25;
}
/* En Diff Analyzer el sobrante se identifica en verde. */
.dm-kpi-grid .kpi.green strong{
  color:#13823d;
}
/* Neutraliza las variantes naranja/azul del componente genérico:
   el marco corporativo se mantiene azul KCC. */
.dm-kpi-grid .kpi.blue,
.dm-kpi-grid .kpi.orange,
.dm-kpi-grid .kpi.green{
  border-top-color:#06386f;
}

@media(max-width:1100px){
  .dm-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .dm-kpi-grid{grid-template-columns:1fr}
  .dm-kpi-grid .kpi strong{font-size:20px}
}
