/* Competitors (v3 Phase 3). The accounts panel is display only: never add export here. */
.cp { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 12px; align-items: start; }
.cp-rail { padding: 12px 14px; display: grid; gap: 4px; position: sticky; top: 84px; max-height: calc(100vh - 100px); overflow: auto; }
.cp-main { display: grid; gap: 14px; min-width: 0; }
.cp-item { display: grid; grid-template-columns: 18px minmax(0, 1fr) 80px; gap: 8px; align-items: center; padding: 8px 6px; border-radius: 10px; }
.cp-item.child { padding-left: 22px; }
.cp-item.on { background: var(--glass-hi); }
.cp-item .spark { height: 26px; }
.cp-link { text-decoration: none; color: inherit; min-width: 0; }
.cp-link .t { display: block; font-weight: 500; font-size: 13.5px; }
.cp-link .s { display: block; font-size: 11.5px; color: var(--ink-2); }
.cp-head h1 { max-width: none; }
.cp-headline { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cp-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cp-sig { display: grid; gap: 4px; }
.cp-sig p { margin: 0; font-size: 13px; }
.cp-spark .spark { height: 56px; }
.cmp-wrap { overflow-x: auto; }
.cmp { border-collapse: collapse; width: 100%; font-size: 13px; }
.cmp th, .cmp td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--edge); }
.cmp td { font-variant-numeric: tabular-nums; }
@media (max-width: 980px) { .cp { grid-template-columns: minmax(0, 1fr); } .cp-rail { position: static; max-height: none; } }
