/* ============================================================
   BB2G CORE — bb2g-core.css  (v1.0)
   The one stylesheet every portfolio tool mounts.
   Change a token here → the whole portfolio restyles.
   Palette: red/white/blue on WHITE. Navy #0A3161 · Red #B31942.
   ============================================================ */
:root{
  /* palette */
  --bb-white:#FFFFFF;      --bb-paper:#F6F7F9;
  --bb-navy:#0A3161;       --bb-navy-2:#0F2440;
  --bb-red:#B31942;        --bb-red-deep:#8E1436;
  --bb-ink:#12233B;        --bb-muted:#5A6B82;
  --bb-line:#E1E6EC;       --bb-line-2:#CBD4DF;
  /* semantic */
  --bb-hi:#B31942;  --bb-md:#C7841A;  --bb-lo:#2E7D6B;
  /* three-state (public) */
  --bb-verified:#1B7F4B; --bb-likely:#B8860B; --bb-unverified:#6B7280;
  /* TLP (coalition) */
  --bb-tlp-red:#B31942; --bb-tlp-amber:#C7841A; --bb-tlp-green:#2E7D6B; --bb-tlp-clear:#5A6B82;
  /* type */
  --bb-font-head:"Archivo",system-ui,sans-serif;
  --bb-font-body:"IBM Plex Sans",system-ui,sans-serif;
  --bb-font-mono:"IBM Plex Mono",ui-monospace,monospace;
  /* shape */
  --bb-radius:10px; --bb-radius-sm:3px;
  --bb-shadow:0 1px 2px rgba(10,49,97,.05),0 10px 26px -14px rgba(10,49,97,.22);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bb-paper);color:var(--bb-ink);
  font-family:var(--bb-font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--bb-font-head);margin:0;letter-spacing:-.01em;}
.bb-mono{font-family:var(--bb-font-mono);}
.bb-header{background:var(--bb-navy);color:#fff;border-bottom:3px solid var(--bb-red);}
.bb-bar{max-width:1240px;margin:0 auto;padding:0 22px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.bb-wrap{max-width:1240px;margin:0 auto;padding:22px;}
.bb-panel{background:#fff;border:1px solid var(--bb-line);border-radius:12px;box-shadow:var(--bb-shadow);overflow:hidden;}
.bb-btn{font-family:var(--bb-font-body);font-weight:600;font-size:13px;background:var(--bb-red);color:#fff;border:none;border-radius:var(--bb-radius-sm);padding:9px 16px;cursor:pointer;}
.bb-chip{font-family:var(--bb-font-mono);font-size:11px;letter-spacing:.05em;border:1px solid var(--bb-line-2);background:#fff;color:var(--bb-muted);border-radius:var(--bb-radius-sm);padding:6px 12px;cursor:pointer;}
.bb-chip.on{background:var(--bb-navy);color:#fff;border-color:var(--bb-navy);}
/* three-state pills */
.bb-conf{font-family:var(--bb-font-mono);font-size:11px;letter-spacing:.06em;padding:4px 10px;border-radius:var(--bb-radius-sm);font-weight:600;}
.bb-conf--verified{background:#E7F3EC;color:var(--bb-verified);}
.bb-conf--likely{background:#FBF3E0;color:var(--bb-likely);}
.bb-conf--unverified{background:#EEF0F3;color:var(--bb-unverified);}
/* admiralty badge (desk) */
.bb-adm{font-family:var(--bb-font-mono);font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:var(--bb-radius-sm);background:#FBF1F4;color:var(--bb-red);border:1px solid #E7D0D8;}
/* tlp */
.bb-tlp{font-family:var(--bb-font-mono);font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--bb-radius-sm);border:1px solid;}
.bb-tlp--red{color:var(--bb-tlp-red);border-color:var(--bb-tlp-red);background:#FBEDF1;}
.bb-tlp--amber{color:var(--bb-tlp-amber);border-color:var(--bb-tlp-amber);background:#FBF3E0;}
.bb-tlp--green{color:var(--bb-tlp-green);border-color:var(--bb-tlp-green);background:#E7F3EC;}
.bb-tlp--clear{color:var(--bb-tlp-clear);border-color:var(--bb-line-2);background:#EEF0F3;}
/* gate stamp + boundary */
.bb-gate{font-family:var(--bb-font-mono);font-size:10px;color:var(--bb-muted);}
.bb-boundary{background:#fff;border:1px solid var(--bb-line);border-left:3px solid var(--bb-navy);border-radius:8px;padding:14px 18px;}
.bb-boundary b{color:var(--bb-navy);font-family:var(--bb-font-head);}
