/* ═══════════════════════════════════════════════════════════════════
   Archer Bracket Guide — Scoped Styles
   All rules prefixed with .abg-wrap to avoid theme conflicts
═══════════════════════════════════════════════════════════════════ */

/* ── GOOGLE FONT (Inter + JetBrains Mono already loaded by theme in most cases) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

.abg-wrap { --abg-navy:#0F2D5C; --abg-blue:#1A5EA8; --abg-ltblue:#3A7FCA; --abg-green:#2E6B28; --abg-orange:#C85A22; --abg-gray:#374151; --abg-mid:#6B7280; --abg-lt:#F3F5F8; --abg-border:#DDE3EC; --abg-ink:#1A1F2E; font-family:'Inter',system-ui,sans-serif; color:#374151; font-size:15px; line-height:1.6; }
.abg-wrap *,.abg-wrap *::before,.abg-wrap *::after { box-sizing:border-box; }
.abg-wrap a { color:var(--abg-blue); text-decoration:none; }
.abg-wrap a:hover { text-decoration:underline; }

/* ── ISO RIBBON */
.abg-iso { background:var(--abg-ink); color:rgba(255,255,255,.6); font-size:11.5px; padding:10px 16px; border-radius:8px; margin-bottom:20px; overflow-x:auto; white-space:nowrap; }
.abg-iso strong { color:#7AB8F5; margin-right:6px; }
.abg-iso-tag { display:inline-block; background:rgba(255,255,255,.1); border-radius:4px; padding:2px 8px; margin:0 3px; font-family:'JetBrains Mono',monospace; font-size:11px; }

/* ── CONTROLS */
.abg-controls { background:#fff; border:1.5px solid var(--abg-border); border-radius:10px; padding:14px 16px; margin-bottom:20px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.abg-search-wrap { position:relative; flex:1; min-width:220px; }
.abg-search-wrap svg { position:absolute; left:10px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--abg-mid); pointer-events:none; }
.abg-search { width:100%; padding:8px 10px 8px 33px; border:1.5px solid var(--abg-border); border-radius:7px; font-size:14px; font-family:'Inter',system-ui,sans-serif; outline:none; }
.abg-search:focus { border-color:var(--abg-blue); }
.abg-filters { display:flex; gap:6px; flex-wrap:wrap; }
.abg-fbt { padding:7px 13px; border:1.5px solid var(--abg-border); border-radius:7px; font-size:12.5px; font-weight:500; cursor:pointer; background:#fff; color:var(--abg-gray); font-family:'Inter',system-ui,sans-serif; transition:all .15s; }
.abg-fbt:hover,.abg-fbt.on { background:var(--abg-navy); border-color:var(--abg-navy); color:#fff; }
.abg-count { font-size:12px; color:var(--abg-mid); padding:7px 12px; background:var(--abg-lt); border-radius:6px; white-space:nowrap; }

/* ── BRAND CARDS */
.abg-alpha-label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--abg-mid); padding:14px 0 8px; border-bottom:1px solid var(--abg-border); margin-bottom:10px; }
.abg-brand { background:#fff; border:1.5px solid var(--abg-border); border-radius:10px; margin-bottom:8px; overflow:hidden; transition:box-shadow .2s; }
.abg-brand:hover { box-shadow:0 3px 16px rgba(0,0,0,.07); }
.abg-brand.hidden { display:none; }

.abg-top { display:flex; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; user-select:none; }
.abg-icon { width:40px; height:40px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; flex-shrink:0; }
.abg-meta { flex:1; min-width:0; }
.abg-name { font-size:15px; font-weight:700; color:var(--abg-ink); }
.abg-sub  { font-size:12px; color:var(--abg-mid); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.abg-badges { display:flex; gap:5px; flex-wrap:wrap; flex-shrink:0; }
.abg-bdg { display:inline-block; padding:2px 8px; border-radius:4px; font-size:10.5px; font-weight:600; }
.abg-bdg-n { background:#EBF5FF; color:var(--abg-blue); }
.abg-bdg-r { background:#ECFEFF; color:#0891B2; }
.abg-bdg-s { background:#F5F3FF; color:#6D28D9; }
.abg-bdg-v { background:#F0FDF4; color:var(--abg-green); }
.abg-chevron { width:24px; height:24px; border-radius:50%; background:var(--abg-lt); display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--abg-mid); transition:all .25s; flex-shrink:0; }
.abg-brand.open .abg-chevron { transform:rotate(180deg); background:var(--abg-blue); color:#fff; }

/* ── BRAND BODY */
.abg-body { display:none; border-top:1px solid var(--abg-border); padding:16px; }
.abg-brand.open .abg-body { display:block; }

.abg-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin-bottom:14px; }
.abg-info-cell .abg-lbl { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--abg-mid); margin-bottom:2px; }
.abg-info-cell .abg-val { font-size:13px; color:var(--abg-gray); }

/* ── TABLE */
.abg-tbl-wrap { overflow-x:auto; border-radius:8px; border:1px solid var(--abg-border); margin:12px 0; }
.abg-tbl { width:100%; border-collapse:collapse; font-size:12.5px; }
.abg-tbl thead tr { background:var(--abg-navy); }
.abg-tbl thead th { color:#fff; padding:9px 11px; text-align:left; font-size:11.5px; font-weight:500; white-space:nowrap; }
.abg-tbl tbody td { padding:7px 11px; border-bottom:1px solid var(--abg-border); vertical-align:top; }
.abg-tbl tbody tr:nth-child(even) td { background:#F8FAFD; }
.abg-tbl tbody tr:last-child td { border-bottom:none; }
.abg-tbl tbody td:first-child { font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; color:var(--abg-navy); white-space:nowrap; }
.abg-tbl .abg-bkt-cell { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; color:var(--abg-navy); white-space:nowrap; }
.abg-yes { color:#16A34A; font-weight:600; }

/* ── NOTES */
.abg-note { background:var(--abg-lt); border-left:3px solid var(--abg-blue); border-radius:0 6px 6px 0; padding:10px 13px; font-size:13px; color:var(--abg-gray); margin:10px 0; line-height:1.55; }
.abg-note.warn { border-color:var(--abg-orange); background:#FFF7ED; }

/* ── ACTIONS */
.abg-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.abg-btn { display:inline-flex; align-items:center; gap:5px; padding:7px 14px; border-radius:7px; font-size:12.5px; font-weight:500; transition:all .15s; border:1.5px solid; text-decoration:none !important; cursor:pointer; }
.abg-btn-blue { background:var(--abg-blue); border-color:var(--abg-blue); color:#fff !important; }
.abg-btn-blue:hover { background:var(--abg-navy); border-color:var(--abg-navy); }
.abg-btn-out  { background:#fff; border-color:var(--abg-border); color:var(--abg-gray) !important; }
.abg-btn-out:hover { border-color:var(--abg-blue); color:var(--abg-blue) !important; }

/* ── NO RESULTS */
.abg-no-results { display:none; text-align:center; padding:50px 20px; color:var(--abg-mid); }
.abg-no-results.show { display:block; }
.abg-no-results h3 { font-size:19px; color:var(--abg-gray); margin-bottom:8px; }

/* ── CTA */
.abg-cta { background:linear-gradient(135deg,var(--abg-navy),#1A3A70); border-radius:12px; padding:36px 32px; text-align:center; margin-top:36px; color:#fff; }
.abg-cta h2 { font-size:22px; font-weight:700; margin:0 0 10px; color:#fff; }
.abg-cta p  { color:rgba(255,255,255,.72); margin-bottom:20px; max-width:480px; margin-inline:auto; }
.abg-cta-btns { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.abg-cta-p { background:var(--abg-orange); color:#fff !important; padding:10px 22px; border-radius:7px; font-weight:600; font-size:14px; text-decoration:none !important; display:inline-block; }
.abg-cta-g { background:rgba(255,255,255,.12); color:#fff !important; border:1.5px solid rgba(255,255,255,.3); padding:10px 22px; border-radius:7px; font-weight:500; font-size:14px; text-decoration:none !important; display:inline-block; }

@media(max-width:600px){
  .abg-controls { flex-direction:column; align-items:stretch; }
  .abg-badges { display:none; }
  .abg-cta { padding:24px 16px; }
}
