/* Crosslink simulation: layout on top of the main app's styles (../app/css/style.css). */

:root {
  --c-radio: #4e7fd8;
  --c-link: #5ce1e6;
  --c-monitor: #ffd84d;
  --c-manoeuvre: #3ddc97;
  --c-warning: #ff4d4d;
  --c-silent: #5b6475;
}

#panel { width: 310px; }
#panel .explain { margin: 8px 0; line-height: 1.45; }
#feedCard { top: 16px; right: 16px; width: 360px; max-height: calc(50% - 24px); overflow-y: auto; display: block;
  scrollbar-width: thin; scrollbar-color: rgba(140, 160, 200, 0.35) transparent; }
#threatCard { bottom: 16px; right: 16px; width: 360px; max-height: calc(50% - 24px); overflow-y: auto; display: block;
  scrollbar-width: thin; scrollbar-color: rgba(140, 160, 200, 0.35) transparent; }
#detail { bottom: 16px; left: 50%; transform: translateX(-50%); width: min(560px, calc(100% - 32px - 2 * 350px));
  min-width: 360px; max-height: 46%; overflow-y: auto; display: none; }
#detail .close { position: absolute; top: 8px; right: 8px; padding: 0 7px; }
#detail h2 { font-size: 14px; margin: 0 26px 4px 0; }

.feed-item { padding: 5px 6px; border-radius: 6px; font-size: 12px; border-left: 3px solid transparent; margin-bottom: 3px;
  background: rgba(255, 255, 255, 0.03); cursor: pointer; }
.feed-item:hover { background: rgba(255, 255, 255, 0.08); }
.feed-item .time { color: var(--muted); font-variant-numeric: tabular-nums; margin-right: 4px; }
.feed-item.detected { border-left-color: var(--c-monitor); }
.feed-item.burn { border-left-color: var(--c-manoeuvre); }
.feed-item.tca { border-left-color: var(--c-link); }
.feed-item.warning { border-left-color: var(--c-warning); }
.feed-item.discard { border-left-color: var(--c-silent); cursor: default; }

.threat-row { display: grid; grid-template-columns: 10px 1fr auto; column-gap: 8px; align-items: center; padding: 6px;
  border-radius: 6px; cursor: pointer; font-size: 12px; }
.threat-row:hover { background: rgba(255, 255, 255, 0.08); }
.threat-row.active { background: rgba(78, 168, 255, 0.18); }
.threat-row .names { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.threat-row .state { color: var(--muted); white-space: nowrap; }
.dot.s-upcoming { background: var(--c-radio); }
.dot.s-monitor { background: var(--c-monitor); }
.dot.s-planned { background: var(--c-monitor); }
.dot.s-manoeuvring { background: var(--c-manoeuvre); }
.dot.s-done { background: var(--c-manoeuvre); opacity: 0.5; }
.dot.s-warning { background: var(--c-warning); }

.msg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 8px 0; }
.msg > div { padding: 6px 8px; border-radius: 6px; background: rgba(255, 255, 255, 0.04); border: 1px solid var(--border); }
.msg dl { margin: 4px 0 0; font-size: 11.5px; }
.msg > div.chosen { border-color: rgba(61, 220, 151, 0.7); background: rgba(61, 220, 151, 0.08); }
.decision { margin-top: 8px; padding: 8px 10px; border-radius: 6px; font-size: 12px; border: 1px solid; }
.decision.ok { background: rgba(61, 220, 151, 0.12); border-color: rgba(61, 220, 151, 0.45); }
.decision.watch { background: rgba(255, 216, 77, 0.1); border-color: rgba(255, 216, 77, 0.45); }
.decision.bad { background: rgba(255, 77, 77, 0.14); border-color: rgba(255, 77, 77, 0.55); }
.steps { margin: 6px 0 0; padding-left: 18px; }
.steps li.done { color: var(--muted); }
.fuelbar { display: inline-block; width: 60px; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.1);
  vertical-align: 1px; margin-right: 4px; overflow: hidden; }
.fuelbar span { display: block; height: 100%; background: var(--c-manoeuvre); }

@media (max-width: 900px) {
  #detail { left: 16px; right: 16px; transform: none; width: auto; min-width: 0; }
  #feedCard { display: none; }
}
