/* w.491 · ".shell button" (padding:0; font:inherit) gana por especificidad a una sola clase:
   los selectores de botones llevan ".shell " delante para que se apliquen. */
/* ════════════════════════════════════════════════════════════════════════
   sodms_circuitos.css · Bloque "Territorio" de #sodms/circuitos
   Crítica de producto aprobada: la pantalla era una tabla de configuración
   sin vista de cobertura. Este bloque agrega indicadores + mapa de polígonos
   + panel de detalle, ARRIBA de la tabla existente (que no se toca).
   Scope: todo bajo prefijo .sodcc-terr- (reusa .sc/.slbl/.sval/.ssub/.al/.es/
   .badge/.bsm/.g4 del core, sin redefinirlos). Mobile-first, breakpoint 768px
   (convención del portal): reglas base = celular, @media(min-width:768px)
   agranda.
   ════════════════════════════════════════════════════════════════════════ */

.sodcc-terr{ margin-bottom:16px; display:flex; flex-direction:column; gap:12px; }

/* ---------- nota de reconciliación KPI/leyenda/panel (ronda 2 de la crítica) ---------- */
.sodcc-terr-nota{ font-size:11.5px; color:var(--tx3); font-weight:600; margin-top:-4px; }
.sodcc-terr-nota b{ color:var(--tx2); font-weight:800; }

/* ---------- KPI "Puntos activos" partido en dos sub-valores ---------- */
.sodcc-terr-split{ display:flex; align-items:flex-end; gap:12px; margin-top:2px; }
.sodcc-terr-split > div{ flex:1; min-width:0; }
.sodcc-terr-split > div + div{ border-left:1px solid var(--bdr); padding-left:12px; }

/* ---------- aviso de puntos sin circuito ---------- */
.sodcc-terr-al{ flex-wrap:wrap; }
.sodcc-terr-al .al-actions{ width:100%; }
.shell .sodcc-terr-al .al-actions .bsm{ width:100%; justify-content:center; }

/* ---------- layout mapa + panel ---------- */
.sodcc-terr-layout{ display:flex; flex-direction:column; gap:12px; }
.sodcc-terr-mapcol{ background:var(--sur); border:1px solid var(--bdr); border-radius:var(--r);
  overflow:hidden; box-shadow:var(--sh-sm); }
#sodcc-terr-mapa{ min-height:240px; }
.sodcc-terr-mapcol .es{ padding:26px 16px; }

/* ---------- leyenda de circuitos (chips clicables) ---------- */
.sodcc-terr-leyenda{ display:flex; flex-wrap:wrap; gap:6px; padding:10px; border-top:1px solid var(--bdr); }
.shell .sodcc-terr-chip{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--bdr);
  background:var(--sur); border-radius:999px; padding:5px 10px 5px 6px; font-size:11.5px; font-weight:700;
  color:var(--tx2); cursor:pointer; max-width:100%; font-family:inherit; }
.shell .sodcc-terr-chip:hover{ background:var(--hov,var(--sur2)); border-color:var(--bdr2); }
.shell .sodcc-terr-chip.is-activa{ background:var(--tx); color:#fff; border-color:var(--tx); }
.sodcc-terr-chip-sw{ width:10px; height:10px; border-radius:50%; flex:none; border:1px solid rgba(0,0,0,.12); }
.sodcc-terr-chip small{ font-weight:600; opacity:.75; }

/* ---------- panel de detalle del circuito elegido ---------- */
.sodcc-terr-panel{ background:var(--sur); border:1px solid var(--bdr); border-radius:var(--r);
  box-shadow:var(--sh-sm); padding:14px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.sodcc-terr-panel .es{ padding:14px 4px; }
.sodcc-terr-panel-head{ display:flex; align-items:flex-start; gap:10px; }
.sodcc-terr-sw{ width:14px; height:14px; border-radius:4px; margin-top:3px; flex:none;
  border:1px solid var(--bdr); }
.sodcc-terr-panel-nm{ font-weight:800; font-size:14.5px; color:var(--tx); line-height:1.25; }
.sodcc-terr-panel-cd{ font-size:11.5px; color:var(--tx3); font-weight:600; margin-top:1px; }
.sodcc-terr-panel-stats{ display:flex; gap:16px; font-size:12.5px; color:var(--tx2); font-weight:600;
  padding:8px 0; border-top:1px solid var(--bdr); border-bottom:1px solid var(--bdr); }
.sodcc-terr-panel-stats b{ font-size:16px; color:var(--tx); font-weight:800; margin-right:4px; }
.sodcc-terr-panel-rutas{ display:flex; flex-direction:column; gap:8px; max-height:260px; overflow:auto; }
.sodcc-terr-sinrutas{ font-size:12px; color:var(--tx3); font-weight:600; padding:4px 0; }
.sodcc-terr-ruta{ border:1px solid var(--bdr); border-radius:9px; padding:8px 10px; }
.sodcc-terr-ruta-nm{ font-size:12.5px; font-weight:800; color:var(--tx); }
.sodcc-terr-ruta-cd{ font-size:11px; color:var(--tx3); font-weight:600; }
.sodcc-terr-ruta-meta{ font-size:11.5px; color:var(--tx2); font-weight:600; margin-top:4px;
  display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.sodcc-terr-panel-acts{ display:flex; flex-direction:column; gap:7px; }
.sodcc-terr-panel-acts .bsm{ width:100%; justify-content:center; }

/* ════════════════════════════════════════════════════════════════════════
   Desktop ≥768px
   ════════════════════════════════════════════════════════════════════════ */
@media (min-width:768px){
  .sodcc-terr-al{ flex-wrap:nowrap; }
  .sodcc-terr-al .al-actions{ width:auto; }
  .shell .sodcc-terr-al .al-actions .bsm{ width:auto; }
  .sodcc-terr-layout{ flex-direction:row; align-items:flex-start; }
  .sodcc-terr-mapcol{ flex:1 1 auto; min-width:0; }
  .sodcc-terr-panel{ flex:0 0 320px; }
  .sodcc-terr-panel-acts{ flex-direction:row; flex-wrap:wrap; }
  .sodcc-terr-panel-acts .bsm{ width:auto; flex:1 1 auto; }
}
