/* manufacturers.css — Scope-crawler manufacturer registry styles.
   Reuses the frame's design tokens + fx-table/fx-card conventions. The
   .mod-num/.mod-dim/.mod-field names come from module-template/module.css
   (the module spine) — not defined by any other shipped module's CSS, so
   defined here rather than assumed global. */

.mod-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mod-dim { color: var(--text-muted); }
.mod-field { display: flex; flex-direction: column; gap: 4px; }
.mod-field span { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted); font-weight: 600; }

.mfr-scopes { margin-bottom: 12px; }
.mfr-scope-add { opacity: .7; }

.mfr-burst { padding: 10px 14px; margin-bottom: 14px; font-size: 13px; }

.mfr-priocell { display: flex; align-items: center; gap: 4px; justify-content: flex-end; }
.mfr-arrow {
  width: 22px; height: 22px; border-radius: var(--radius-sm); border: 1px solid var(--border);
  background: var(--surface); color: var(--text); cursor: pointer; line-height: 1; font-size: 10px;
}
.mfr-arrow:hover:not(:disabled) { background: var(--gold-soft); }
.mfr-arrow:disabled { opacity: .3; cursor: default; }

.mfr-toggle { position: relative; display: inline-block; width: 34px; height: 20px; cursor: pointer; }
.mfr-toggle input { opacity: 0; width: 0; height: 0; }
.mfr-toggle span {
  position: absolute; inset: 0; border-radius: 999px; background: var(--border);
  transition: background .15s;
}
.mfr-toggle span::before {
  content: ""; position: absolute; width: 16px; height: 16px; left: 2px; top: 2px;
  border-radius: 50%; background: #fff; transition: transform .15s;
}
.mfr-toggle input:checked + span { background: var(--gold); }
.mfr-toggle input:checked + span::before { transform: translateX(14px); }

.mfr-row { cursor: pointer; }
.mfr-row:hover td { background: var(--gold-soft); }

.mfr-editcard { padding: 16px 18px; position: relative; }
.mfr-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 16px; }
.mfr-field-wide { grid-column: 1 / -1; }
@media (max-width: 700px) { .mfr-grid { grid-template-columns: 1fr; } }

.mfr-grid input, .mfr-grid textarea {
  border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 6px 10px;
  font-size: 13px; background: var(--surface); color: var(--text); font-family: inherit;
}
.mfr-grid input:focus, .mfr-grid textarea:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-soft);
}
.mfr-grid textarea { resize: vertical; }

.mfr-save { margin-top: 14px; }

/* -------- v2 schema (2026-08-02): company card + per-scope membership cards -------- */

.mfr-section-title {
  font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted);
  font-weight: 700; margin: 18px 0 8px;
}
.mfr-scopes-title { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.mfr-scopes-title .mod-dim { font-size: 11px; text-transform: none; letter-spacing: 0; font-weight: 400; }

.mfr-scopeblock { padding: 14px 16px; margin-bottom: 12px; }
.mfr-scopeblock-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-bottom: 10px;
}
.mfr-scopeblock-head b { font-size: 14px; text-transform: lowercase; }
.mfr-scope-slugfield { flex: 1 1 auto; max-width: 260px; }
.mfr-scope-slugfield input { width: 100%; }

.mfr-scope-save, .mfr-co-save-btn { margin-top: 12px; }

.mfr-scope-addblock { border: 1px dashed var(--border); background: transparent; margin-top: 10px; }
