.fmt-market-scan {
  --fmt-bg: #07121f;
  --fmt-panel-0: #182638;
  --fmt-panel-1: #10365c;
  --fmt-panel-2: #0d4d7e;
  --fmt-panel-3: #096d91;
  --fmt-panel-4: #07889d;
  --fmt-panel-5: #08a6a6;
  --fmt-border: rgba(255,255,255,.14);
  --fmt-text: #f7fbff;
  --fmt-muted: #aebdca;
  --fmt-add: #6cf0b4;
  --fmt-delete: #ff6b6b;
  --fmt-purple: #4b2f78;
  --fmt-purple-border: #7953ad;
  background: radial-gradient(circle at top, #0b1a2d 0%, var(--fmt-bg) 55%, #06101b 100%);
  color: var(--fmt-text);
  padding: 28px;
  border-radius: 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

.fmt-market-scan * { box-sizing: border-box; }

.fmt-scan-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.fmt-scan-title {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -.03em;
}

.fmt-scan-subtitle {
  margin-top: 5px;
  color: var(--fmt-muted);
  font-size: 16px;
}

.fmt-scan-updated-wrap {
  text-align: right;
  padding-top: 3px;
}

.fmt-scan-updated-label {
  color: var(--fmt-muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 3px;
}

.fmt-scan-updated {
  color: #fff;
  font-size: 16px;
  font-weight: 650;
}

.fmt-scan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.fmt-scan-card {
  position: relative;
  min-height: 144px;
  padding: 18px 18px 16px;
  border-radius: 15px;
  border: 1px solid var(--fmt-border);
  box-shadow: inset 0 1px rgba(255,255,255,.03), 0 8px 20px rgba(0,0,0,.12);
  overflow: hidden;
}

.fmt-scan-level-0 { background: linear-gradient(145deg, #1b2a3a, var(--fmt-panel-0)); }
.fmt-scan-level-1 { background: linear-gradient(145deg, #16436c, var(--fmt-panel-1)); }
.fmt-scan-level-2 { background: linear-gradient(145deg, #125d91, var(--fmt-panel-2)); }
.fmt-scan-level-3 { background: linear-gradient(145deg, #0b799a, var(--fmt-panel-3)); }
.fmt-scan-level-4 { background: linear-gradient(145deg, #0797a7, var(--fmt-panel-4)); }
.fmt-scan-level-5 { background: linear-gradient(145deg, #08b5b0, var(--fmt-panel-5)); }

.fmt-scan-discovery-row {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.fmt-scan-discovery {
  width: calc((100% - 36px) / 4);
  min-width: 0;
  background: linear-gradient(145deg, #563686, var(--fmt-purple));
  border-color: var(--fmt-purple-border);
}

.fmt-scan-card-name {
  max-width: calc(100% - 42px);
  min-height: 40px;
  font-size: 16px;
  line-height: 1.18;
  font-weight: 750;
  color: #fff;
}

.fmt-scan-card-main {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 10px;
}

.fmt-scan-count {
  font-size: 38px;
  line-height: .95;
  font-weight: 800;
  letter-spacing: -.04em;
}

.fmt-scan-active-label {
  font-size: 15px;
  font-weight: 650;
  color: rgba(255,255,255,.93);
}

.fmt-scan-delta {
  display: flex;
  gap: 5px;
  margin-top: 8px;
  font-size: 16px;
  font-weight: 750;
}

.fmt-scan-add { color: var(--fmt-add); }
.fmt-scan-delete { color: var(--fmt-delete); }
.fmt-scan-divider { color: rgba(255,255,255,.65); }

.fmt-scan-open {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(0,0,0,.12);
  color: #fff;
  font-size: 24px;
  line-height: 30px;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
}

.fmt-scan-open:hover,
.fmt-scan-open:focus-visible {
  transform: scale(1.06);
  background: rgba(255,255,255,.1);
  outline: none;
}

.fmt-scan-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999999;
}

.fmt-scan-modal.is-open { display: block; }

.fmt-scan-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.76);
  backdrop-filter: blur(2px);
}

.fmt-scan-dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(560px, calc(100vw - 36px));
  max-height: min(72vh, 620px);
  overflow: auto;
  background: #182534;
  border: 1px solid #405267;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 28px 85px rgba(0,0,0,.58);
}

.fmt-scan-dialog h3 {
  margin: 0;
  padding-right: 42px;
  color: #fff;
  font-size: 24px;
  line-height: 1.15;
}

.fmt-scan-dialog-meta {
  margin-top: 5px;
  color: var(--fmt-muted);
  font-size: 14px;
}

.fmt-scan-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  background: #26394b;
  color: #fff;
  font-size: 25px;
  cursor: pointer;
}

.fmt-scan-symbols {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.fmt-scan-symbol-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 10px 14px;
  border-radius: 10px;
  background: #26394b;
  border: 1px solid #45586c;
  color: #fff;
  font-weight: 750;
  letter-spacing: .02em;
}

.fmt-scan-no-symbols {
  color: var(--fmt-muted);
  padding: 8px 0;
}

.fmt-scan-error {
  border: 1px solid rgba(255,107,107,.35);
  background: rgba(110,24,24,.25);
  color: #ffd0d0;
  padding: 18px;
  border-radius: 12px;
}

body.fmt-scan-modal-open { overflow: hidden; }

@media (max-width: 980px) {
  .fmt-scan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fmt-scan-discovery { width: calc((100% - 12px) / 2); }
}

@media (max-width: 620px) {
  .fmt-market-scan { padding: 18px; border-radius: 12px; }
  .fmt-scan-header { flex-direction: column; gap: 10px; }
  .fmt-scan-updated-wrap { text-align: left; }
  .fmt-scan-grid { grid-template-columns: 1fr; }
  .fmt-scan-discovery { width: 100%; }
  .fmt-scan-card { min-height: 132px; }
}