/* needs.css — Haves/Needs group view (Arcane theme).
 * Scoped to .nd-* classes so it can't collide with the v1 shell styles.
 * Uses the theme tokens from styles.css (:root vars); Cinzel for display
 * headers like the rest of the site. Normal document flow only.
 */

.nd-board { padding-bottom: 8px; }
.nd-title { font-family: "Cinzel", Georgia, serif; letter-spacing: .04em; margin: 6px 0 4px 0; }
.nd-sub { margin: 0 0 10px 0; font-size: 13px; }

/* member cards */
.nd-member { margin: 10px 0; }
.nd-mhdr {
  display: flex; align-items: center; gap: 10px; width: 100%;
  background: none; border: none; color: var(--cream);
  font-family: "Cinzel", Georgia, serif; font-size: 15px; font-weight: 700;
  padding: 4px 0; cursor: pointer; text-align: left;
}
.nd-mname { flex: 1; }
.nd-mtags { font-family: inherit; font-size: 12px; color: var(--dim); font-weight: 400; }
.nd-dtag {
  font-family: inherit; font-size: 10px; font-weight: 700; letter-spacing: .08em;
  color: var(--gold); border: 1px solid var(--line); border-radius: 8px; padding: 2px 6px;
  vertical-align: 2px;
}
.nd-chev, .nd-chev2 { color: var(--gold); font-size: 13px; }
.nd-mbody { margin-top: 4px; }

.nd-sect { margin: 10px 0 4px 0; }
.nd-shdr {
  background: none; border: none; color: var(--gold); cursor: pointer;
  font-family: "Cinzel", Georgia, serif; font-size: 13px; letter-spacing: .08em;
  padding: 4px 0; display: flex; gap: 6px; align-items: center;
}
.nd-sbody { padding: 2px 0 4px 2px; }
.nd-private { padding: 6px 0; font-size: 13px; }
.nd-lnote { font-size: 13px; margin: 6px 0 2px 0; font-style: italic; }
.nd-more { font-size: 12px; padding: 4px 0; }

/* rows */
.nd-row {
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  padding: 7px 2px; border-bottom: 1px solid rgba(217,164,65,.08);
  font-size: 14px;
}
.nd-row:last-child { border-bottom: none; }
.nd-cname { flex: 1; min-width: 140px; }
.nd-csub { font-size: 12px; }
.nd-qty { white-space: nowrap; color: var(--dim-warm); }
.nd-qty.gold { color: var(--gold); }
.nd-fills {
  flex-basis: 100%; font-size: 12.5px; color: var(--green);
}
.nd-need .nd-fills { margin-top: -2px; }
.nd-vtag {
  font-size: 10px; letter-spacing: .06em; text-transform: uppercase;
  color: var(--dim); border: 1px solid var(--line); border-radius: 6px; padding: 1px 5px;
  margin-right: 4px;
}

/* my needs editor */
.nd-myneeds { margin: 12px 0; border-color: rgba(217,164,65,.35); }
.nd-listrow { display: flex; gap: 8px; align-items: center; margin: 6px 0; }
.nd-listrow select { flex: 1; margin: 0; }
.nd-items { margin: 6px 0; }
.nd-step { display: inline-flex; align-items: center; gap: 8px; }
.nd-step b { min-width: 34px; text-align: center; color: var(--gold); }
.nd-picker { margin-top: 10px; }
#nd-pickres { margin-top: 4px; }
.nd-pick .nd-cname { font-size: 13.5px; }

/* Derek's queue */
.nd-queue { display: flex; flex-direction: column; gap: 10px; }
.nd-qitem { margin: 0; }
.nd-qhead { font-size: 14px; margin-bottom: 4px; }
.nd-qactions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.nd-qactions .btn { flex: 1; min-width: 120px; }
