/* CFA shared visual language — taken from q-research.html so Earnings Card and Q Research feel like one app.
   Scoped classes only (no bare element selectors) so the classic sections are not restyled. */
.cfa-top{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 0 rgba(15,23,42,.03);position:sticky;top:0;z-index:30;font-family:system-ui,sans-serif}
.cfa-top .in{max-width:1300px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cfa-top .lft{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cfa-top .rgt{display:flex;align-items:center;gap:12px;font-size:12px;color:#64748b}
.brand{font-size:20px;font-weight:900;letter-spacing:-.5px;color:#0f172a;text-decoration:none}
.brand .c{color:#3b82f6}.brand .q{color:#8b5cf6}
a.brand:hover{text-decoration:none}
.sub{font-size:11px;color:#64748b;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.appnav{display:flex;gap:8px;flex-wrap:wrap}
.appnav a{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800;color:#334155;text-decoration:none}
.appnav a:hover{border-color:#93c5fd;text-decoration:none}
.appnav a.on{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}
.cfa-quiet{font-size:11px;color:#94a3b8;text-decoration:none}
.cfa-quiet:hover{color:#64748b}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-bottom:14px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.04)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.stat{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;text-align:center}
.stat .n{font-size:22px;font-weight:900}.stat .l{font-size:10px;color:#64748b;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-top:4px}
.pill{display:inline-block;font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px}
.hit{background:#d1fae5;color:#047857}.partial{background:#fef3c7;color:#b45309}
.skip{background:#e2e8f0;color:#475569}.watch{background:#dbeafe;color:#1d4ed8}
.setup{background:#ede9fe;color:#6d28d9}.put{background:#fee2e2;color:#b91c1c}
.call{background:#d1fae5;color:#047857}
.worked{background:#d1fae5;color:#047857}.pass{background:#e0f2fe;color:#0369a1}.notrade{background:#f1f5f9;color:#64748b}
.muted{color:#64748b;font-size:11px}
.btns{display:flex;gap:8px;flex-wrap:wrap}
.btn{background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd;border-radius:8px;padding:7px 12px;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.btn.g{background:#ecfdf5;color:#047857;border-color:#34d399}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.sec-h h2{margin:0;font-size:15px;font-weight:800}
.tag{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:999px}
.tag.fwd{background:#dbeafe;color:#1d4ed8}.tag.bt{background:#d1fae5;color:#047857}
.banner{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;margin-bottom:10px}
.summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:12px;margin-bottom:14px}
.cfa-h3{font-size:12px;font-weight:800;margin:12px 0 6px;color:#334155;text-transform:uppercase;letter-spacing:.5px}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr)}.cfa-top .in{padding:8px 10px}.brand{font-size:18px}}
