/* Connections on research.html: an overview strip, then four panels (customers, suppliers,
   competitors, shareholders) laid out as compact tables. Tokens come from shared.css. */

/* Overview: same grid as Key stats */
.cx-ov{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border-default);}
.cx-ov div{padding:12px 12px 12px 0;border-bottom:1px solid var(--border-default);min-width:0;}
.cx-ov span{display:block;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cx-ov b{display:block;font-family:var(--mono);font-size:15px;font-weight:500;color:var(--text-primary);margin-top:3px;}
.cx-hl{padding:12px 0;border-bottom:1px solid var(--border-default);}
.cx-hl-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:12.5px;color:var(--text-secondary);margin-bottom:8px;}
.cx-leg{display:flex;gap:16px;flex-wrap:wrap;}
.cx-hbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-3);gap:2px;}
.cx-hbar i{display:block;height:100%;}
.cx-hbar .healthy{background:var(--success);} .cx-hbar .watch{background:var(--warning);} .cx-hbar .trouble{background:var(--danger);}
.cx-weak{font-size:13px;color:var(--text-secondary);margin-top:8px;line-height:1.5;}
.cx-weak .cx-s{margin-right:6px;}

/* Status: a coloured dot and one word */
.cx-s{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;white-space:nowrap;color:var(--text-muted);}
.cx-s i{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;}
.cx-s.healthy{color:var(--success);} .cx-s.watch{color:var(--warning);} .cx-s.trouble{color:var(--danger);}

/* Lists: ruled rows like News, one under the other */
.cx-p{min-width:0;}
.cx-ph{font-family:var(--font);font-size:15px;font-weight:600;letter-spacing:0;margin:var(--space-3) 0 var(--space-1);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.cx-ph span{font-family:var(--mono);font-size:12px;color:var(--text-muted);font-weight:500;}
.cx-ph small{font-size:13px;font-weight:400;color:var(--text-muted);}
.cx-th,.cx-rb{display:grid;grid-template-columns:minmax(0,1fr) 96px 72px 96px;gap:var(--space-2);align-items:center;}
.cx-th{font-size:12px;color:var(--text-muted);padding:8px 0;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);}
.cx-th span:nth-child(n+2){text-align:right;}
.cx-th2{margin-top:var(--space-1);}
.cx-r{border-bottom:1px solid var(--border-default);}
.cx-rb{width:100%;background:none;border:0;padding:12px 0;font:inherit;color:inherit;text-align:left;cursor:pointer;}
.cx-rb.cx-static{cursor:default;}
.cx-rb:hover .cx-nm{color:var(--accent);}
.cx-rb.cx-static:hover .cx-nm{color:var(--text-primary);}
.cx-rb:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;}
.cx-co{display:flex;align-items:baseline;gap:8px;min-width:0;}
.cx-tk{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0;min-width:0;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cx-tk:empty{display:none;}
.cx-nm{font-size:15px;font-weight:400;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.cx-nm em{font-style:normal;font-size:10.5px;color:var(--text-muted);font-weight:400;}
.cx-fig,.cx-1y{font-family:var(--mono);font-size:13px;text-align:right;white-space:nowrap;}
.cx-fig b{font-weight:600;color:var(--text-primary);}
.cx-rb .cx-s{justify-self:end;}
.cx-all{background:none;border:0;padding:10px 0 6px;font:inherit;font-size:12.5px;color:var(--accent);cursor:pointer;}
.cx-all:hover{text-decoration:underline;}
.cx-empty{font-size:13px;color:var(--text-muted);padding:12px 0;line-height:1.5;}
.cx-src{font-size:11.5px;color:var(--text-muted);padding:10px 0 4px;}
.cx-src a{color:var(--text-secondary);}

/* An opened row */
.cx-more{padding:2px 0 12px;font-size:13px;color:var(--text-secondary);}
.cx-more[hidden]{display:none;}
.cx-line{line-height:1.5;margin-bottom:6px;}
.cx-line a{color:var(--accent);}
.cx-rs{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;}
.cx-rs li{position:relative;padding-left:12px;line-height:1.5;font-size:12.5px;}
.cx-rs li::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--text-muted);}
.cx-rs li.bad::before{background:var(--danger);} .cx-rs li.meh::before{background:var(--warning);} .cx-rs li.ok::before{background:var(--success);}
.cx-q{margin:6px 0 0;padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 8px 8px 0;line-height:1.55;}
.cx-q a{display:inline-block;margin-top:4px;font-size:12px;color:var(--accent);}

/* Loading and notes */
.cx-wait{font-size:13px;color:var(--text-muted);padding:12px 0;line-height:1.6;}
.cx-prog{height:2px;background:var(--surface-3);border-radius:2px;overflow:hidden;margin-top:8px;max-width:420px;}
.cx-prog i{display:block;height:100%;width:40%;background:var(--accent);animation:cxslide 1.6s var(--ease-fluid) infinite;}
@keyframes cxslide{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
.cx-foot{font-size:12px;color:var(--text-muted);line-height:1.6;margin-top:var(--space-2);}
.cx-foot a{color:var(--text-secondary);}

@media (max-width:560px){
  .cx-ov{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cx-th,.cx-rb{grid-template-columns:minmax(0,1fr) 62px 74px;gap:10px;}
  .cx-nm{font-size:14px;}
  .cx-1y{display:none;}
}

.cx-nm .cx-what{display:block;font-size:11.5px;color:var(--text-muted);font-weight:400;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
