/* BGP › Sessões (19/09/2026). Tokens --bq-* vêm do bgp_pesquisa.css (carregado antes). */
.bgps { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.bgps .mono { font-family: var(--bq-mono); font-size: .93em; }
.bgps-carregando, .bgps-vazio { color: var(--text-secondary); font-size: 13px; padding: 14px 0; margin: 0; }
.bgps-lk { color: var(--bq-info); text-decoration: none; }
.bgps-lk:hover { text-decoration: underline; }

.bgps-ban { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--bq-line); }
.bgps-ban--crit { border-color: color-mix(in srgb, var(--bq-crit) 45%, transparent); background: linear-gradient(90deg, color-mix(in srgb, var(--bq-crit) 12%, var(--bg-card)), var(--bg-card)); }
.bgps-ban--ok { border-color: color-mix(in srgb, var(--bq-ok) 40%, transparent); background: linear-gradient(90deg, color-mix(in srgb, var(--bq-ok) 8%, var(--bg-card)), var(--bg-card)); }
.bgps-ban__ic { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font: 800 22px system-ui, sans-serif; }
.bgps-ban--crit .bgps-ban__ic { background: color-mix(in srgb, var(--bq-crit) 18%, transparent); color: var(--bq-crit); }
.bgps-ban--ok .bgps-ban__ic { background: color-mix(in srgb, var(--bq-ok) 16%, transparent); color: var(--bq-ok); }
.bgps-ban__tx { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.bgps-ban__tx h3 { margin: 4px 0 0; font-size: 18px; font-weight: 600; color: var(--text-primary); }
.bgps-ban--crit h3 b { color: var(--bq-crit); }
.bgps-ban__tx p { margin: 0; font-size: 13px; color: var(--text-secondary); max-width: 95ch; }
.bgps-ban__tx p b { color: var(--text-primary); }
.bgps-ban__item + .bgps-ban__item { border-top: 1px solid var(--bq-line); padding-top: 8px; margin-top: 4px; }
.bgps-ban__ac { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px !important; }
.bgps-aviso { color: var(--bq-warn) !important; }
.bgps-ban__n { display: flex; gap: 22px; text-align: right; }
.bgps-ban__n b { display: block; font: 700 26px system-ui, sans-serif; color: var(--text-primary); }
.bgps-ban__n small { font-size: 11.5px; color: var(--text-secondary); }
.bgps-btn { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 600; border: 1px solid var(--border); border-radius: 9px; padding: 4px 11px; color: var(--text-primary); background: transparent; cursor: pointer; text-decoration: none; }
.bgps-btn:hover { background: var(--bg-hover); }
.bgps-pill { display: inline-flex; align-items: center; align-self: flex-start; font-size: 11.5px; font-weight: 700; padding: 2px 9px; border-radius: 99px; white-space: nowrap; }
.bgps-pill--crit { color: var(--bq-crit); background: color-mix(in srgb, var(--bq-crit) 14%, transparent); }
.bgps-pill--ok { color: var(--bq-ok); background: color-mix(in srgb, var(--bq-ok) 11%, transparent); }
.bgps-pill--mu { color: var(--text-secondary); background: color-mix(in srgb, var(--text-secondary) 12%, transparent); }

.bgps-kp { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bgps-kp > div { border: 1px solid var(--bq-line); border-radius: 12px; background: var(--bg-card); padding: 10px 14px; min-width: 0; }
.bgps-kp small { display: block; font-size: 11.5px; color: var(--text-secondary); }
.bgps-kp b { font: 700 20px system-ui, sans-serif; color: var(--text-primary); }
.bgps-kp em { display: block; font-style: normal; font-size: 11.5px; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bgps-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 14px; align-items: start; }
.bgps-fil { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.bgps-chip { font-size: 12px; padding: 3px 10px; border-radius: 99px; border: 1px solid var(--border); color: var(--text-secondary); background: transparent; cursor: pointer; }
.bgps-chip b { color: var(--text-primary); }
.bgps-chip.is-on { color: var(--bq-acc); border-color: color-mix(in srgb, var(--bq-acc) 55%, transparent); background: color-mix(in srgb, var(--bq-acc) 9%, transparent); }
.bgps-sec { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.bgps-sec > h3 { margin: 0; font-size: 12.5px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.bgps-sec > h3 small { text-transform: none; letter-spacing: 0; font-weight: 500; margin-left: 6px; }
.bgps-gs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bgps-g { border: 1px solid var(--bq-line); border-radius: 14px; background: var(--bg-card); padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.bgps-g--fora { border-color: color-mix(in srgb, var(--bq-crit) 50%, transparent); box-shadow: inset 3px 0 0 var(--bq-crit); }
.bgps-g--dis { opacity: .7; }
.bgps-g__h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bgps-g__h > b { font-size: 15px; color: var(--text-primary); }
.bgps-g__h .bgps-pill { margin-left: auto; }
.bgps-asn { font: 500 11.5px var(--bq-mono); }
.bgps-g__r { font-size: 11.5px; color: var(--text-secondary); margin-top: -4px; }
.bgps-ss { display: flex; flex-direction: column; gap: 4px; width: 100%; text-align: left; border: 1px solid var(--bq-line); border-radius: 10px; padding: 7px 10px; background: color-mix(in srgb, var(--text-primary) 2%, transparent); color: var(--text-primary); cursor: pointer; font: inherit; }
.bgps-ss:hover { border-color: color-mix(in srgb, var(--bq-acc) 50%, var(--bq-line)); }
.bgps-ss:focus-visible { outline: 2px solid var(--bq-acc); outline-offset: 2px; }
.bgps-ss__h { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.bgps-ss__st { margin-left: auto; font-size: 12px; color: var(--text-secondary); text-align: right; }
.bgps-ss--fora .bgps-ss__st { color: var(--bq-crit); font-weight: 600; }
.bgps-ss--oscila .bgps-ss__st { color: var(--bq-warn); }
.bgps-ss__m { font-size: 11.5px; color: var(--text-secondary); }
.bgps-ss__m b { color: var(--text-primary); }
.bgps-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--bq-ok); flex: none; }
.bgps-ss--fora .bgps-dot { background: var(--bq-crit); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bq-crit) 22%, transparent); }
.bgps-ss--oscila .bgps-dot { background: var(--bq-warn); }
.bgps-ss--dis .bgps-dot { background: var(--text-secondary); }
.bgps-tl { display: flex; gap: 1px; height: 8px; }
.bgps-tl i, .bgps-leg i { flex: 1; border-radius: 1px; background: var(--bq-ok); opacity: .8; }
.bgps-tl i.fora, .bgps-leg i.fora { background: var(--bq-crit); opacity: 1; }
.bgps-tl i.meio, .bgps-leg i.meio { background: var(--bq-warn); opacity: 1; }
.bgps-tl i.dis, .bgps-leg i.dis { background: color-mix(in srgb, var(--text-secondary) 28%, transparent); }
.bgps-tl i.na { background: color-mix(in srgb, var(--text-secondary) 12%, transparent); }
.bgps-leg { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11.5px; color: var(--text-secondary); align-items: center; }
.bgps-leg i { display: inline-block; width: 14px; height: 8px; margin-right: 5px; flex: none; }

.bgps-hs { border: 1px solid var(--bq-line); border-radius: 14px; background: var(--bg-card); padding: 12px 14px; display: flex; flex-direction: column; }
.bgps-hs h3 { margin: 0 0 6px; font-size: 14px; color: var(--text-primary); }
.bgps-ev { display: grid; grid-template-columns: 90px 1fr; gap: 2px 8px; padding: 7px 0; border-top: 1px solid var(--bq-line); font-size: 12.5px; }
.bgps-ev b { font: 600 12px var(--bq-mono); color: var(--text-secondary); }
.bgps-ev span { color: var(--text-primary); min-width: 0; overflow-wrap: anywhere; }
.bgps-ev em { grid-column: 2; font-style: normal; font-size: 11.5px; color: var(--text-secondary); }
.bgps-ev--fora b { color: var(--bq-crit); }
.bgps-ev--fora em { color: var(--bq-warn); }

@media (max-width: 1100px) { .bgps-cols { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) {
  .bgps-ban { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 14px; }
  .bgps-ban__ic { display: none; }
  .bgps-ban__n { justify-content: space-between; text-align: left; }
  .bgps-kp { grid-template-columns: 1fr 1fr; }
  .bgps-gs { grid-template-columns: minmax(0, 1fr); }
  .bgps-ss__h { flex-wrap: wrap; }
  .bgps-ss__st { margin-left: 0; width: 100%; text-align: left; }
}

/* ---------- detalhe da sessão (modal) ---------- */
#peerModal .bgp-modal__panel { width: min(760px, 100%); }
.bgpd-hd { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px 12px; border-bottom: 1px solid var(--bq-line); flex-shrink: 0; }
.bgpd-hd__tx { flex: 1; min-width: 0; }
.bgpd-hd h2 { margin: 0; font: 700 20px "Outfit", system-ui, sans-serif; color: var(--text-primary); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bgpd-tag { font: 700 11.5px "DM Sans", system-ui, sans-serif; border: 1px solid var(--border); border-radius: 7px; padding: 1px 7px; color: var(--text-secondary); }
.bgpd-tag:empty { display: none; }
.bgpd-pill { font: 700 12px "DM Sans", system-ui, sans-serif; padding: 3px 10px; border-radius: 99px; white-space: nowrap; color: var(--text-secondary); background: color-mix(in srgb, var(--text-secondary) 12%, transparent); }
.bgpd-pill--ok { color: var(--bq-ok); background: color-mix(in srgb, var(--bq-ok) 12%, transparent); }
.bgpd-pill--fora { color: var(--bq-crit); background: color-mix(in srgb, var(--bq-crit) 14%, transparent); }
.bgpd-sub { font-size: 12.5px; color: var(--text-secondary); margin-top: 4px; overflow-wrap: anywhere; }
.bgpd-mono { font-family: var(--bq-mono); font-size: .93em; }
.bgpd-lk { color: var(--bq-info); text-decoration: none; }
.bgpd-lk:hover { text-decoration: underline; }
.bgpd-x { width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--border); display: grid; place-items: center; color: var(--text-secondary); background: transparent; cursor: pointer; flex: none; }
.bgpd-bd { display: flex; flex-direction: column; gap: 12px; padding: 14px 18px 18px !important; }
.bgpd-al { border: 1px solid color-mix(in srgb, var(--bq-crit) 45%, transparent); background: color-mix(in srgb, var(--bq-crit) 8%, transparent); border-radius: 12px; padding: 10px 12px; font-size: 13px; color: var(--text-secondary); }
.bgpd-al b { color: var(--text-primary); }
.bgpd-crit { color: var(--bq-crit) !important; }
.bgpd-ok { color: var(--bq-ok); }
.bgpd-kp { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bgpd-kp > div { border: 1px solid var(--bq-line); border-radius: 12px; background: color-mix(in srgb, var(--text-primary) 3%, transparent); padding: 9px 12px; }
.bgpd-kp small { display: block; font-size: 11px; color: var(--text-secondary); }
.bgpd-kp b { font: 700 19px system-ui, sans-serif; color: var(--text-primary); }
.bgpd-kp em { display: block; font-style: normal; font-size: 11px; color: var(--text-secondary); }
.bgpd-card { border: 1px solid var(--bq-line); border-radius: 12px; padding: 10px 12px; background: color-mix(in srgb, var(--text-primary) 2%, transparent); }
.bgpd-card > h4 { margin: 0 0 8px; font-size: 13px; color: var(--text-primary); display: flex; gap: 8px; align-items: baseline; }
.bgpd-card > h4 small { margin-left: auto; font-weight: 500; font-size: 11px; color: var(--text-secondary); }
.bgpd-tl { display: flex; gap: 1px; height: 12px; }
.bgpd-tl i { flex: 1; border-radius: 1px; background: var(--bq-ok); opacity: .85; }
.bgpd-tl i.fora { background: var(--bq-crit); opacity: 1; }
.bgpd-tl i.meio { background: var(--bq-warn); opacity: 1; }
.bgpd-tl i.dis { background: color-mix(in srgb, var(--text-secondary) 28%, transparent); }
.bgpd-tl i.na { background: color-mix(in srgb, var(--text-secondary) 12%, transparent); }
.bgpd-dias { display: flex; justify-content: space-between; font-size: 10.5px; color: var(--text-secondary); margin-top: 4px; }
.bgpd-ev { display: grid; grid-template-columns: 120px 1fr; gap: 2px 8px; font-size: 12.5px; padding: 5px 0; border-top: 1px solid var(--bq-line); color: var(--text-primary); }
.bgpd-ev:first-child { border-top: 0; }
.bgpd-ev b { font: 600 12px var(--bq-mono); color: var(--text-secondary); }
.bgpd-ev--fora b { color: var(--bq-crit); }
.bgpd-ev--ok b { color: var(--bq-ok); }
.bgpd-flat { margin: 0; font-size: 12.5px; color: var(--text-secondary); }
.bgpd-flat b { color: var(--text-primary); }
.bgpd-flat .bgpd-lk { color: var(--bq-acc); margin-left: 6px; }
.bgpd-chart__tb { display: flex; justify-content: flex-end; margin: 6px 0; }
.bgpd-sel { font-size: 12px; border: 1px solid var(--border); border-radius: 8px; padding: 3px 8px; background: var(--bg-card); color: var(--text-primary); }
.bgpd-chart { height: 220px; }
.bgpd-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--bq-line); margin: -2px 0 8px; }
.bgpd-tabs button { padding: 6px 10px; font-size: 12.5px; color: var(--text-secondary); border: 0; border-bottom: 2px solid transparent; background: transparent; cursor: pointer; }
.bgpd-tabs button[aria-selected="true"] { color: var(--text-primary); border-bottom-color: var(--bq-acc); font-weight: 700; }
.bgpd-advtb { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.bgpd-advtb .bgpd-mu { flex: 1; min-width: 160px; }
.bgpd-in { border: 1px solid var(--border); border-radius: 8px; padding: 5px 9px; font-size: 12px; background: var(--bg-card) !important; color: var(--text-primary); width: min(240px, 100%); }
.bgpd-btn { font-size: 12.5px; font-weight: 600; border: 1px solid var(--border); border-radius: 9px; padding: 5px 11px; color: var(--text-primary); background: transparent; cursor: pointer; }
.bgpd-btn:disabled { opacity: .45; cursor: not-allowed; }
.bgpd-btn:hover:not(:disabled) { background: var(--bg-hover); }
.bgpd-mu { color: var(--text-secondary); font-size: 12px; }
.bgpd-nota { margin: 8px 0 0; }
.bgpd-chip { font-size: 11px; color: var(--bq-acc); border: 1px solid color-mix(in srgb, var(--bq-acc) 40%, transparent); border-radius: 6px; padding: 0 6px; text-decoration: none; white-space: nowrap; }
.bgpd-acts { display: flex; gap: 6px; flex-wrap: wrap; }
.bgpd-acts:empty { display: none; }
@media (max-width: 760px) {
  #peerModal { padding: 0 !important; align-items: stretch !important; }
  #peerModal .bgp-modal__panel { width: 100% !important; max-width: none !important; height: 100% !important; max-height: none !important; border-radius: 0 !important; }
  .bgpd-kp { grid-template-columns: 1fr 1fr; }
  .bgpd-hd h2 { font-size: 18px; }
  .bgpd-ev { grid-template-columns: 1fr; }
}
/* painel e tabela de anúncios seguem o tema (antes eram escuros fixos) */
#peerModal .bgp-modal__panel { background: var(--bg-card) !important; border-color: var(--border) !important; }
#peerModal .adv-modal-scroll { border-color: var(--bq-line); max-height: 40vh; }
#peerModal .adv-cmp-table thead th { background: var(--bg-card); color: var(--text-secondary); border-bottom-color: var(--bq-line); }
#peerModal .adv-cmp-table tbody td { color: var(--text-primary); border-bottom-color: var(--bq-line); }
#peerModal .adv-prefix { color: var(--text-primary); }
#peerModal .adv-mono, #peerModal .adv-aspath { color: var(--text-secondary); }
#peerModal .adv-origin { color: var(--text-secondary); border-color: var(--border); }

/* totais de sessões como cartões (19/09): faixa do topo fica só com o texto */
.bgps-ban { grid-template-columns: auto minmax(0, 1fr); }
.bgps-ban__n:empty { display: none; }
.bgps-kp { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.bgps-kc { text-align: left; border: 1px solid var(--bq-line); border-radius: 12px; background: var(--bg-card); padding: 10px 14px; cursor: pointer; font: inherit; color: inherit; position: relative; overflow: hidden; min-width: 0; }
.bgps-kc::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--t, var(--border)); }
.bgps-kc--ok { --t: var(--bq-ok); } .bgps-kc--crit { --t: var(--bq-crit); } .bgps-kc--mu { --t: color-mix(in srgb, var(--text-secondary) 60%, transparent); }
.bgps-kc--ok b { color: var(--bq-ok); } .bgps-kc--crit b { color: var(--bq-crit); }
.bgps-kc:hover { border-color: color-mix(in srgb, var(--t) 55%, var(--bq-line)); }
.bgps-kc.is-on { border-color: var(--t); box-shadow: 0 0 0 1px color-mix(in srgb, var(--t) 35%, transparent); }
.bgps-kc:focus-visible { outline: 2px solid var(--bq-acc); outline-offset: 2px; }
.bgps-kc small { display: block; font-size: 11.5px; color: var(--text-secondary); }
.bgps-kc b { font: 700 20px system-ui, sans-serif; }
.bgps-kc em { display: block; font-style: normal; font-size: 11.5px; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* telas médias: sessões numa linha (3), informações na outra (4) */
@media (max-width: 1500px) { .bgps-kp { grid-template-columns: repeat(12, minmax(0, 1fr)); } .bgps-kp > .bgps-kc { grid-column: span 4; } .bgps-kp > div { grid-column: span 3; } }
@media (max-width: 900px) { .bgps-kp { grid-template-columns: repeat(6, minmax(0, 1fr)); } .bgps-kp > .bgps-kc { grid-column: span 2; } .bgps-kp > div { grid-column: span 3; } }
@media (max-width: 560px) { .bgps-kp > .bgps-kc { grid-column: span 3; } .bgps-kp > .bgps-kc:first-child { grid-column: span 6; } }
