/* 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. */
/* ════════════════════════════════════════════════════════════════════════
   css/sosms_briefing.css · Briefing gerencial AD (#sosms/direccion)
   ════════════════════════════════════════════════════════════════════════
   Puerto de material/design/briefing_gerencial_ad/ (SPEC.md, aprobado por
   Darío) + ajustes de producto del 2026-10-01 (frescura por bloque,
   decisiones agrupadas "Requiere tu decisión"/"En seguimiento", analítica
   sin ranking). Scope propio, prefijo .sdb-*, no toca css/brand_ad.css.
   Mobile-first: reglas base = celular, @media (min-width:768px) agranda.
   Rojo de marca AD: #DA291C en superficies/texto grande, #B42318 en texto
   chico (6.6:1 sobre blanco). El resto usa los tokens del tema vigente.
   ════════════════════════════════════════════════════════════════════════ */

.sdb{ font-family:'Manrope', sans-serif; }

/* ---------- pestañas ---------- */
.sdb-tabs{ display:flex; gap:4px; border-bottom:1px solid var(--bdr); margin-bottom:14px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.sdb-tabs::-webkit-scrollbar{ display:none; }
.shell .sdb-tab{ border:0; background:none; padding:9px 10px; font-size:13px; font-weight:800; color:var(--tx3); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; font-family:inherit; }
.shell .sdb-tab[aria-selected="true"]{ color:var(--tx1); border-bottom-color:#DA291C; }

/* ---------- encabezado del briefing ---------- */
.sdb-bh{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.sdb-h1{ margin:0; font-size:18px; font-weight:800; color:var(--tx1); letter-spacing:-.01em; }
.sdb-sub{ font-size:12px; color:var(--tx3); font-weight:600; margin-top:2px; }
.sdb-actions{ display:flex; gap:7px; flex-wrap:wrap; }
/* .btn/.btn--ghost/.btn--primary de brand_ad.css solo existen dentro de
   .ad-head-actions y desde 768px (el header AD los oculta en celular). Acá
   los necesitamos visibles y compactos también en celular, así que se
   definen propios scopeados a .sdb-actions, sin depender de ese selector. */
.sdb-actions .btn{ display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 10px; border-radius:9px; border:1px solid var(--bdr); background:var(--sur); color:var(--tx1); font-size:11.5px; font-weight:800; cursor:pointer; white-space:nowrap; font-family:inherit; }
.sdb-actions .btn .msym-ad{ font-size:15px; }
.sdb-actions .btn--ghost:hover{ background:var(--hov,var(--sur2)); }
.sdb-actions .btn--primary{ background:linear-gradient(135deg,#E23124,#C01D13); border-color:transparent; color:#fff; }
.sdb-actions .btn--primary:hover{ opacity:.94; }

/* ---------- barra de control: período + sello ---------- */
.sdb-ctl{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; background:var(--sur); border:1px solid var(--bdr); border-radius:var(--rsm); padding:7px; box-shadow:var(--sh-sm); margin-bottom:6px; }
.sdb-seg{ display:flex; gap:2px; background:var(--sur2); border-radius:9px; padding:3px; overflow-x:auto; max-width:100%; scrollbar-width:none; }
.sdb-seg::-webkit-scrollbar{ display:none; }
.shell .sdb-per{ border:0; background:transparent; height:28px; padding:0 10px; border-radius:7px; font-size:11.5px; font-weight:800; color:var(--tx2); cursor:pointer; white-space:nowrap; font-family:inherit; }
.shell .sdb-per[aria-pressed="true"]{ background:var(--sur); color:var(--tx1); box-shadow:0 1px 2px rgba(16,24,40,.12); }
.sdb-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:11px; color:var(--tx3); font-weight:600; }
.sdb-meta b{ color:var(--tx2); }
.sdb-stamp{ display:inline-flex; align-items:center; gap:5px; }
.sdb-stamp i{ width:6px; height:6px; border-radius:50%; background:var(--ok); display:inline-block; }
.sdb-note{ font-size:11px; color:var(--tx3); font-weight:600; margin:0 0 12px 2px; }

/* ---------- franja En vivo ---------- */
.sdb-live{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:#1F2A37; color:#fff; border-radius:var(--rsm); padding:9px 10px; margin-bottom:16px; }
.sdb-live-tag{ display:inline-flex; align-items:center; gap:6px; font-size:10.5px; font-weight:800; letter-spacing:.03em; background:rgba(255,255,255,.1); padding:4px 8px; border-radius:999px; white-space:nowrap; }
.sdb-live-tag i{ width:6px; height:6px; border-radius:50%; background:#F97066; display:inline-block; }
.sdb-live-items{ display:grid; grid-template-columns:1fr 1fr; gap:5px 10px; flex:1 1 100%; order:3; }
.sdb-live-it{ font-size:11.5px; color:#C9D2DB; font-weight:600; white-space:normal; }
.sdb-live-it b{ color:#fff; font-size:13px; font-weight:800; margin-right:3px; }
.sdb-live-it.is-alert b{ color:#FDA29B; }
.shell .sdb-live-go{ border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; height:30px; padding:0 10px; border-radius:8px; font-size:11.5px; font-weight:800; cursor:pointer; white-space:nowrap; margin-left:auto; font-family:inherit; }
.shell .sdb-live-go:hover{ background:rgba(255,255,255,.08); }

/* ---------- grilla del briefing ---------- */
.sdb-grid{ display:grid; gap:12px; grid-template-columns:minmax(0,1fr); grid-template-areas:"dec" "res" "eje" "sal"; align-items:start; }
.sdb-a-res{ grid-area:res; } .sdb-a-dec{ grid-area:dec; } .sdb-a-eje{ grid-area:eje; } .sdb-a-sal{ grid-area:sal; }

.sdb-card{ background:var(--sur); border:1px solid var(--bdr); border-radius:var(--r); box-shadow:var(--sh-sm); min-width:0; }
.sdb-card-h{ padding:12px 14px 8px; display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.sdb-card-h h2{ margin:0; font-size:14px; font-weight:800; color:var(--tx1); }
.sdb-card-h .sdb-clock{ font-size:11px; color:var(--tx3); font-weight:600; margin-top:2px; }
.sdb-loading, .sdb-vacio{ padding:22px 14px; text-align:center; color:var(--tx3); font-size:12.5px; font-weight:600; }

/* chip de frescura: wrap apila el chip de estado y el corte (hora) en vez
   de concatenarlos en un solo texto (revisión de producto ronda 2, 2026-10-01) */
.sdb-fresh-wrap{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex:none; }
.sdb-fresh{ font-size:10.5px; font-weight:800; border-radius:999px; padding:3px 8px; white-space:nowrap; }
.sdb-fresh.is-ok{ background:var(--ok-bg,#ECFDF3); color:var(--ok); }
.sdb-fresh.is-warn{ background:var(--wn-bg,#FFFAEB); color:var(--wn); }
.sdb-fresh.is-bad{ background:var(--er-bg,#FEF3F2); color:#B42318; }
.sdb-fresh-corte{ font-size:9.5px; color:var(--tx3); font-weight:700; white-space:nowrap; }

/* métricas */
.sdb-m{ padding:10px 14px; border-top:1px solid var(--bdr); }
.sdb-m-top{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.sdb-m-lbl{ font-size:11.5px; font-weight:700; color:var(--tx2); }
.sdb-m-val{ font-size:21px; font-weight:800; line-height:1.1; margin-top:3px; color:var(--tx1); letter-spacing:-.01em; }
.sdb-m-val small{ font-size:12px; font-weight:700; color:var(--tx3); margin-left:4px; letter-spacing:0; }
.sdb-m-foot{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:5px; font-size:11px; color:var(--tx3); font-weight:600; }
.sdb-m-sub{ margin-top:2px; }
.sdb-delta{ display:inline-flex; align-items:center; gap:3px; font-size:11px; font-weight:800; padding:2px 6px; border-radius:999px; white-space:nowrap; }
.sdb-delta.is-up-good, .sdb-delta.is-down-good{ background:var(--ok-bg,#ECFDF3); color:var(--ok); }
.sdb-delta.is-up-bad, .sdb-delta.is-down-bad{ background:var(--er-bg,#FEF3F2); color:#B42318; }
.sdb-delta.is-flat{ background:var(--sur2); color:var(--tx2); }
.sdb-bar{ height:5px; border-radius:999px; background:var(--sur2); margin-top:7px; overflow:hidden; }
.sdb-bar > span{ display:block; height:100%; border-radius:999px; background:#1F2A37; }
.sdb-m-empty{ font-size:12px; color:var(--tx3); font-weight:600; background:var(--sur2); border:1px dashed var(--bdr2); border-radius:9px; padding:9px 10px; margin-top:5px; }
.sdb-card-f{ padding:9px 14px 12px; border-top:1px solid var(--bdr); }
.sdb-card-f-note{ font-size:10.5px; color:var(--tx3); font-weight:600; padding-top:8px; padding-bottom:0; border-top:0; }
.shell .sdb-link{ border:0; background:none; padding:0; color:var(--tx1); font-size:12px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; gap:4px; text-decoration:underline; text-underline-offset:3px; font-family:inherit; }

/* ---------- Decisiones de hoy ---------- */
.sdb-dec-h{ padding:13px 14px 10px; border-bottom:1px solid var(--bdr); }
.sdb-dec-h h2{ margin:0; font-size:15px; font-weight:800; color:var(--tx1); }
.sdb-dec-h p{ margin:4px 0 0; font-size:11.5px; color:var(--tx3); font-weight:600; }
.sdb-dec-grupo-h{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 14px 4px; }
.sdb-dec-grupo-h h3{ margin:0; font-size:12.5px; font-weight:800; color:var(--tx2); text-transform:uppercase; letter-spacing:.03em; }
.sdb-count{ font-size:11px; font-weight:800; color:#B42318; background:#FDECEA; border-radius:999px; padding:2px 8px; white-space:nowrap; }
.sdb-dec{ padding:11px 14px; border-top:1px solid var(--bdr); }
.sdb-dec-chips{ display:flex; gap:5px; flex-wrap:wrap; margin-bottom:6px; }
.sdb-chip{ font-size:10.5px; font-weight:800; border-radius:999px; padding:2px 7px; white-space:nowrap; background:var(--sur2); color:var(--tx2); }
.sdb-chip-alta{ background:#FEF3F2; color:#B42318; }
.sdb-chip-media{ background:var(--wn-bg,#FFFAEB); color:var(--wn); }
.sdb-chip-baja{ background:var(--sur2); color:var(--tx3); }
.sdb-chip-reloj{ background:var(--sur); border:1px solid var(--bdr); color:var(--tx3); }
.sdb-dec-titulo{ margin:0; font-size:13.5px; font-weight:800; line-height:1.3; color:var(--tx1); }
.sdb-dec-why{ margin:5px 0 0; font-size:12px; color:var(--tx2); font-weight:600; }
.sdb-dec-exp{ margin:7px 0 0; font-size:12px; color:var(--tx2); background:var(--sur2); border-left:3px solid #1F2A37; border-radius:0 7px 7px 0; padding:6px 9px; }
.sdb-dec-exp b{ color:var(--tx1); }
.sdb-dec-foot{ display:flex; align-items:center; justify-content:space-between; gap:9px; flex-wrap:wrap; margin-top:9px; }
.sdb-owner{ display:flex; align-items:center; gap:7px; min-width:0; }
.sdb-av{ width:26px; height:26px; border-radius:50%; background:var(--sur2); color:var(--tx2); display:grid; place-items:center; font-size:10.5px; font-weight:800; flex:none; }
.sdb-owner-nm{ font-size:12px; font-weight:800; line-height:1.15; color:var(--tx1); }
.sdb-owner-rl{ font-size:10.5px; color:var(--tx3); font-weight:600; }
.shell .sdb-cta{ display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 12px; border-radius:9px; border:0; background:#1F2A37; color:#fff; font-size:12px; font-weight:800; cursor:pointer; white-space:nowrap; font-family:inherit; width:100%; justify-content:center; }
.shell .sdb-cta:hover{ background:#2B3949; }
.sdb-dec-more{ padding:9px 14px 12px; border-top:1px solid var(--bdr); display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; font-size:11.5px; color:var(--tx3); font-weight:600; }
.sdb-dec-more button{ border:0; background:none; padding:0; color:var(--tx1); font-size:11.5px; font-weight:800; cursor:pointer; text-decoration:underline; text-underline-offset:3px; font-family:inherit; }

/* ---------- Accesos ---------- */
.sdb-acc{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:14px; }
.shell .sdb-tile{ display:flex; align-items:center; gap:10px; padding:12px; cursor:pointer; text-align:left; border:1px solid var(--bdr); background:var(--sur); border-radius:var(--r); box-shadow:var(--sh-sm); width:100%; font-family:inherit; }
.shell .sdb-tile:hover{ background:var(--hov,var(--sur2)); }
.sdb-tile-ic{ width:36px; height:36px; border-radius:10px; background:var(--sur2); display:flex; align-items:center; justify-content:center; flex:none; font-size:18px; color:#1F2A37; }
.shell .sdb-tile b{ display:block; font-size:12.5px; font-weight:800; color:var(--tx1); }
.shell .sdb-tile span span{ font-size:11px; color:var(--tx3); font-weight:600; }

/* ---------- Analítica de equipo ---------- */
.sdb-an-head{ margin-bottom:10px; }
.sdb-an-head h2{ margin:0; font-size:15px; font-weight:800; color:var(--tx1); }
.sdb-an-sub{ font-size:11.5px; color:var(--tx3); font-weight:600; margin-top:2px; }
.sdb-an-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:start; }
.sdb-caveat{ margin:0 14px 10px; font-size:11.5px; color:var(--tx2); font-weight:600; background:var(--wn-bg,#FFFAEB); border:1px solid #FEDF89; border-radius:9px; padding:7px 9px; }
.sdb-an-row{ padding:9px 14px; border-top:1px solid var(--bdr); display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.sdb-an-row b{ font-size:12.5px; font-weight:800; color:var(--tx1); }
.sdb-an-row span{ font-size:11px; color:var(--tx3); font-weight:600; }

/* distribución por bandas (sin ranking), mismo patrón que .band de
   css/sosah_tablero_gerencial.css, scopeado con prefijo propio del módulo */
.sdb-bands{ padding:0 14px 4px; display:flex; flex-direction:column; gap:8px; }
.sdb-band{ display:grid; grid-template-columns:78px 1fr 56px; gap:8px; align-items:center; font-size:11.5px; color:var(--tx2); font-weight:600; }
.sdb-band-lbl{ white-space:nowrap; }
.sdb-band-track{ height:14px; background:var(--sur2); border-radius:4px; overflow:hidden; }
.sdb-band-track i{ display:block; height:100%; background:#1F2A37; border-radius:4px; }
.sdb-band-n{ text-align:right; white-space:nowrap; }
.sdb-band-n b{ color:var(--tx1); font-weight:800; }
.sdb-tbl-wrap{ overflow-x:auto; }
table.sdb-t{ width:100%; border-collapse:collapse; font-size:12px; }
table.sdb-t th{ text-align:left; font-size:10.5px; text-transform:uppercase; letter-spacing:.03em; color:var(--tx3); font-weight:800; padding:7px 14px; border-top:1px solid var(--bdr); white-space:nowrap; }
table.sdb-t td{ padding:9px 14px; border-top:1px solid var(--bdr); font-weight:700; color:var(--tx1); white-space:nowrap; }
table.sdb-t td.r, table.sdb-t th.r{ text-align:right; }

/* ════════════════════════════════════════════════════════════════════════
   Desktop ≥768px
   ════════════════════════════════════════════════════════════════════════ */
@media (min-width:768px){
  .shell .sdb-tab{ padding:10px 14px; font-size:13.5px; }
  .sdb-h1{ font-size:21px; }
  .sdb-actions .btn{ height:38px; padding:0 15px; font-size:13px; }
  .sdb-live-items{ grid-template-columns:repeat(4,auto); order:0; flex:1; gap:16px; }
  .shell .sdb-live-go{ margin-left:0; }
  .sdb-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"dec dec" "res eje" "res sal"; gap:14px; }
  .sdb-acc{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sdb-an-grid{ grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .shell .sdb-cta{ width:auto; }
}
@media (min-width:1200px){
  .sdb-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr); grid-template-areas:"res dec eje" "res dec sal"; }
}
@media (prefers-reduced-motion:reduce){ .sdb *{ transition:none!important; } }
