/* 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_bandeja.css · Bandeja de oportunidades del Mapa comercial (#sodms/mapa)
   w.491 · chunk SQL 552 (sodms_mapa_bandeja) · SPEC:
   material/design/mapa_comercial_ad/SPEC.md
   Scope: todo bajo prefijo .sodmapa- (fuera de eso, reusa .bsm/.al/.badge/.fg
   /.mov/.modal/.mtit/.mac/.g3/.sc del core, sin redefinirlos). Mobile-first,
   breakpoint 768px (convención del portal).
   ════════════════════════════════════════════════════════════════════════ */

/* ---------- barra de control (Asesor · Buscar · Más filtros) ---------- */
.sodmapa-ctl{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:10px;background:var(--sur);border:1px solid var(--bdr);border-radius:12px;
  padding:8px;margin-bottom:10px;
}
.sodmapa-ctl-l{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1;min-width:0}
.sodmapa-ctl-l select{height:36px;border:1px solid var(--bdr);border-radius:var(--rsm);
  background:var(--sur);padding:0 10px;font-size:12.5px;font-weight:600;color:var(--tx);max-width:100%}
.sodmapa-ctl-r{font-size:11.5px;color:var(--tx3);font-weight:600;padding-right:4px}
.sodmapa-ctl-r b{color:var(--tx2)}
.sodmapa-search{display:flex;align-items:center;gap:6px;height:36px;border:1px solid var(--bdr);
  border-radius:var(--rsm);padding:0 10px;background:var(--sur);min-width:200px;flex:0 1 260px}
.sodmapa-search svg{width:14px;height:14px;color:var(--tx3);flex:none}
.sodmapa-search input{border:0;outline:0;font-size:12.5px;font-weight:600;width:100%;
  background:transparent;color:var(--tx)}
.sodmapa-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 5px;
  border-radius:999px;background:var(--ac);color:#fff;font-size:10px;font-weight:800;margin-left:4px}

/* ---------- panel plegado "Más filtros" ---------- */
.sodmapa-mas{background:var(--sur);border:1px solid var(--bdr);border-radius:12px;padding:12px;margin-bottom:10px}
.sodmapa-mas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sodmapa-mas-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--tx3)}
.sodmapa-mas-grid select,.sodmapa-mas-grid input[type=date]{height:36px;border:1px solid var(--bdr);
  border-radius:var(--rsm);background:var(--sur);padding:0 9px;font-size:12.5px;font-weight:600;
  color:var(--tx);max-width:100%}
.sodmapa-chk{display:inline-flex !important;flex-direction:row !important;align-items:center;gap:7px;
  font-size:12px;color:var(--tx2);cursor:pointer;align-self:end;height:36px}
.sodmapa-chk input{width:15px;height:15px;accent-color:var(--ac)}
.sodmapa-chk.sodmapa-chk-sm{height:auto;font-size:11.5px;margin-left:auto;white-space:nowrap}
.sodmapa-mas-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.sodmapa-hint{font-size:11px;color:var(--tx3);font-weight:600}

/* ---------- layout bandeja + mapa ---------- */
.sodmapa-layout{display:grid;grid-template-columns:420px minmax(0,1fr);gap:12px;align-items:start}
.sodmapa-tray{background:var(--sur);border:1px solid var(--bdr);border-radius:14px;
  display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:520px;overflow:hidden}
.sodmapa-tray-head{padding:10px 10px 0}
.sodmapa-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--sur2);
  border-radius:12px;padding:4px}
.shell .sodmapa-tab{border:0;background:transparent;border-radius:9px;padding:8px 6px 7px;cursor:pointer;
  text-align:left;color:var(--tx2);display:flex;flex-direction:column;gap:1px;min-width:0}
.sodmapa-tab-n{font-size:19px;font-weight:800;line-height:1.1;color:var(--tx)}
.sodmapa-tab-l{display:block;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shell .sodmapa-tab[aria-selected="true"]{background:var(--sur);box-shadow:0 1px 2px rgba(16,24,40,.14)}
.shell .sodmapa-tab[aria-selected="true"]::after{content:"";display:block;height:3px;border-radius:2px;
  margin-top:5px;background:var(--ac)}
.shell .sodmapa-tab:not([aria-selected="true"])::after{content:"";display:block;height:3px;margin-top:5px}

.shell .sodmapa-fixentry{margin-top:8px;width:100%;display:flex;align-items:center;gap:10px;
  border:1px dashed var(--er);background:var(--er-bg);color:var(--er);border-radius:10px;
  padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer;text-align:left}
.sodmapa-fix-tx{flex:1;min-width:0}
.shell .sodmapa-fixentry small{display:block;font-weight:600;color:var(--tx3);margin-top:1px}
.shell .sodmapa-fixentry[aria-pressed="true"]{background:var(--tx);color:#fff;border-style:solid}
.shell .sodmapa-fixentry[aria-pressed="true"] small{color:#C9D2DB}

.sodmapa-tray-sub{padding:10px 14px 6px;font-size:11.5px;color:var(--tx3);font-weight:600;
  border-bottom:1px solid var(--bdr)}
.sodmapa-tray-sub b{color:var(--tx2)}
.sodmapa-selbar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--tx);
  color:#fff;font-size:12px;font-weight:800}
.sodmapa-selbar span{flex:1;min-width:0}
.sodmapa-sel-btn{border-color:rgba(255,255,255,.3) !important;background:transparent !important;color:#fff !important}
.sodmapa-sel-btn-dark{background:#fff !important;color:var(--tx) !important;border-color:#fff !important}

.sodmapa-list{list-style:none;margin:0;padding:6px;overflow:auto;flex:1}
.sodmapa-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:10px 8px;
  border-radius:10px;border:1px solid transparent;cursor:pointer}
.sodmapa-item + .sodmapa-item{border-top:1px solid var(--bdr)}
.sodmapa-item:hover,.sodmapa-item.hl{background:var(--hov);border-color:var(--bdr)}
.sodmapa-item.hl + .sodmapa-item,.sodmapa-item:hover + .sodmapa-item{border-top-color:transparent}
.sodmapa-item input[type=checkbox]{width:15px;height:15px;margin:2px 0 0;accent-color:var(--ac)}
.sodmapa-item-rk{font-size:10.5px;color:var(--tx3);font-weight:800}
.sodmapa-item-h{display:flex;align-items:baseline;gap:6px;min-width:0}
.sodmapa-item-nm{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sodmapa-item-cd{font-size:11px;color:var(--tx3);font-weight:700;white-space:nowrap}
.sodmapa-item-why{display:flex;gap:7px;align-items:flex-start;margin-top:4px;font-size:12px;
  font-weight:700;color:var(--tx)}
.sodmapa-dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:4px}
.sodmapa-item-fechas{display:flex;flex-direction:column;gap:1px;margin-top:4px;font-size:11.5px;
  color:var(--tx2);font-weight:600}
.sodmapa-item-meta{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:5px;font-size:11.5px;
  color:var(--tx3);font-weight:600}
.sodmapa-item-meta b{color:var(--tx2);font-weight:800}
.sodmapa-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.sodmapa-item-acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.sodmapa-item-acts .bsm{height:30px;font-size:12px;padding:0 10px}
.sodmapa-more{padding:8px 12px 12px;border-top:1px solid var(--bdr);font-size:11.5px;color:var(--tx3);
  font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sodmapa-empty{padding:28px 18px;text-align:center;color:var(--tx3);font-size:12.5px;font-weight:600;
  list-style:none}
.sodmapa-empty b{display:block;color:var(--tx);font-size:13.5px;margin-bottom:4px}

/* ---------- mapa ---------- */
.sodmapa-mapcol{background:var(--sur);border:1px solid var(--bdr);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:520px}
.sodmapa-map-top{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--bdr);
  font-size:12px;font-weight:700;color:var(--tx2)}
.sodmapa-map-scope{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sodmapa-map-back{display:none}
#sodmapa-mapa{flex:1;min-height:280px}
.sodmapa-legend{border-top:1px solid var(--bdr);font-size:11.5px}
.sodmapa-legend summary{padding:8px 12px;cursor:pointer;font-weight:800;color:var(--tx2)}

.shell .sodmapa-fab-map{display:none}

/* ---------- tablet ---------- */
@media (max-width:1100px){
  .sodmapa-layout{grid-template-columns:360px minmax(0,1fr)}
  .sodmapa-mas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- celular: la bandeja primero, el mapa a demanda (768px, convención del portal) ---------- */
@media (max-width:768px){
  .sodmapa-ctl-l{gap:6px}
  .sodmapa-ctl-l select{flex:1 1 100%}
  .sodmapa-search{flex:1 1 auto;min-width:0}
  .sodmapa-ctl-r{width:100%;order:9}
  .sodmapa-mas-grid{grid-template-columns:1fr}
  .sodmapa-layout{display:block}
  .sodmapa-tray{height:auto;min-height:0;overflow:visible}
  .sodmapa-list{overflow:visible}
  .sodmapa-tab-n{font-size:17px}
  .sodmapa-tab-l{font-size:10.5px;white-space:normal;line-height:1.15}
  .sodmapa-item-acts .bsm{height:36px;flex:1 1 auto;justify-content:center}

  .sodmapa-mapcol{display:none}
  body.sodmapa-map-open .sodmapa-mapcol{display:flex;position:fixed;inset:0;z-index:1500;
    border-radius:0;height:auto;min-height:0;border:0}
  body.sodmapa-map-open .sodmapa-map-back{display:inline-flex}
  .sodmapa-map-top{flex-wrap:wrap;gap:6px 10px}
  .sodmapa-map-scope{order:3;flex:1 1 100%;white-space:normal;font-size:11.5px;color:var(--tx3)}
  body.sodmapa-map-open .sodmapa-fab-map{display:none}
  .shell .sodmapa-fab-map{display:inline-flex;position:fixed;left:50%;transform:translateX(-50%);bottom:16px;
    z-index:1400;align-items:center;gap:8px;height:46px;padding:0 18px;border-radius:999px;border:0;
    background:var(--tx);color:#fff;font-size:13.5px;font-weight:800;box-shadow:0 8px 24px rgba(15,30,45,.2);
    cursor:pointer;white-space:nowrap}
}

/* ════════════════════════════════════════════════════════════════════════
   #sodms/transferencias (chunk SQL 587, propuesta de UI vector_openai
   20261003). Fuera del prefijo .sodmapa- del resto del archivo; vive acá
   porque es el CSS "sodms" ya enlazado desde index.html (silo web-builder no
   toca index.html para sumar un <link> nuevo). Scope: .sodtr-*.
   ════════════════════════════════════════════════════════════════════════ */
.shell .sodtr-tap44{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.shell #sodtr-tabs .tab-btn,
.shell .sodtr-tab{min-height:44px}
.sodtr-tl{font-size:11px}
@media(max-width:480px){
  .shell #sodtr-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .shell #sodtr-tabs .tab-btn{flex:0 0 auto}
}

/* ════════════════════════════════════════════════════════════════════════
   #sodms/cobro-ruta y #sodms/cartera (chunks SQL 588/589, diseño vector_openai
   20261003 ui-cxc-v2). Mismo motivo que .sodtr-* arriba: el silo web-builder
   no toca index.html para sumar un <link> nuevo. Scope: .sodcxc-*.
   ════════════════════════════════════════════════════════════════════════ */
.shell .sodcxc-tap44{min-height:44px}
.shell #sodcar-tabs .tab-btn{min-height:44px}
@media(max-width:480px){
  .shell #sodcar-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .shell #sodcar-tabs .tab-btn{flex:0 0 auto}
}
