/* ═══════════════════════════════════════════════════════════════════════════
   pm-wave2.css — the "Project tools" card (js/pm-wave2.js): ask, submittals, scope, brief,
   photos, share, lessons, integrations.
   lane cc-impl-3 · 2026-10-10 · NEW FILE. css/styles.css is FROZEN, so this is a separate
   sheet and MUST load AFTER css/reading.css and css/reading-pm.css, whose .rdg- and .rpm-
   atoms the card reuses. Every rule here is prefixed .pmw- and every colour is a design
   token (`:root` is the DARK palette, `:root.light` a CLASS on <html> overrides it).
   Nothing outside .pmw- is styled; no new colour, font or shadow is introduced.
   ═══════════════════════════════════════════════════════════════════════════ */

.pmw-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 4px 0 10px; }
.pmw-bar .rdg-label { margin-right: 0; }
.pmw-wide { max-width: min(72ch, 100%); }
.pmw-days { width: 6.5ch; }
.pmw-date { max-width: 15ch; }
.pmw-proj, .pmw-bidders { flex: 0 1 30ch; padding: 4px 9px; font-size: 12px; }
.pmw-bidders { flex-basis: 38ch; }
.pmw-url { font-family: var(--font-mono); font-size: 12px; }
.pmw-once { margin: 6px 0 12px; }
.pmw-once .rdg-ask-row { margin: 6px 0 0; }
.pmw-check { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--text-secondary); }
.pmw-file { font: inherit; font-size: 12px; color: var(--text-secondary); max-width: 100%; }
.pmw-preview { margin: 0 0 10px; }
.pmw-card .rpm-select:disabled { opacity: .55; }

/* ── ask ───────────────────────────────────────────────────────────────────── */
.pmw-sentence { display: inline; }
.pmw-cite { font-family: var(--font-mono); font-size: 11px; padding: 0 5px; vertical-align: 1px; }
.pmw-hits { list-style: none; margin: 4px 0 8px; padding: 0; }
.pmw-hit {
  padding: 8px 11px; margin: 0 0 6px; border: 1px solid var(--rdg-line, var(--gray-300));
  border-radius: var(--radius-sm, 8px); background: var(--surface); font-size: 12.5px;
}
.pmw-hit-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; }
.pmw-hit-n { font-weight: 600; color: var(--text-secondary); }
.pmw-hit-text { margin: 3px 0; color: var(--text); overflow-wrap: anywhere; max-width: 110ch; }
.pmw-hit-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 4px; }

/* ── submittals / scope ────────────────────────────────────────────────────── */
.pmw-register td { min-width: 70px; }
.pmw-register td:first-child { min-width: 240px; max-width: 420px; }
.pmw-title { font-weight: 600; overflow-wrap: anywhere; }
.pmw-register .rdg-tag { margin-bottom: 2px; }
.pmw-detail {
  margin: 4px 0 14px; padding: 4px 14px 10px; border: 1px solid var(--rdg-line, var(--gray-300));
  border-radius: var(--radius-sm, 8px);
}
.pmw-gapkind { margin: 10px 0 2px; }
.pmw-gaps, .pmw-lessons { list-style: none; margin: 4px 0 8px; padding: 0; }
.pmw-gap, .pmw-lesson {
  padding: 8px 11px; margin: 0 0 6px; border: 1px solid var(--rdg-line, var(--gray-300));
  border-radius: var(--radius-sm, 8px); background: var(--surface); font-size: 12.5px;
}
.pmw-gap-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; }
.pmw-gap-top .rdg-tag { margin-right: 0; }
.pmw-gap-detail { margin: 3px 0; overflow-wrap: anywhere; max-width: 110ch; }
.pmw-gap-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 4px; }
.pmw-map { width: auto; min-width: 60%; }
.pmw-needs { margin: 0; padding-left: 16px; font-size: 12px; }

/* ── photos ────────────────────────────────────────────────────────────────── */
.pmw-group { margin-bottom: 6px; }
.pmw-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 8px; }
.pmw-photo {
  display: flex; gap: 10px; padding: 9px 11px; border: 1px solid var(--rdg-line, var(--gray-300));
  border-radius: var(--radius-sm, 8px); background: var(--surface); font-size: 12.5px; min-width: 0;
}
.pmw-thumb {
  flex: 0 0 92px; height: 92px; display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--rdg-line, var(--gray-300)); border-radius: 6px; overflow: hidden;
  background: var(--card-bg); font-size: 11px; text-align: center;
}
.pmw-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pmw-photo-body { flex: 1 1 auto; min-width: 0; }
.pmw-caption { font-weight: 600; overflow-wrap: anywhere; }
.pmw-photo-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin-top: 5px; }
.pmw-photo-row .rdg-label { margin-right: 0; }
.pmw-photo-row .rdg-tag { margin-right: 0; }

/* ── integrations setup (js/integrations-setup.js, lane cc-clean-1, 2026-10-10) ─────────────
   The rows are .pmw-gap, the buttons .rdg-btn, the chips .rdg-tag, the inputs .rdg-ask-input and
   .rpm-select: the card's own atoms. The rules below only LAY OUT the form, which the card did
   not have before. No colour, font, border or radius is introduced: each is a token already used. */
.pmw-ix-list { margin-top: 2px; }
.pmw-ix-row .pmw-gap-top { justify-content: space-between; }
.pmw-ix-row .rdg-tag { margin-right: 0; }
.pmw-ix-form { margin-top: 8px; padding-top: 10px; }
.pmw-ix-field { display: flex; flex-direction: column; gap: 3px; margin: 0 0 10px; max-width: min(64ch, 100%); }
.pmw-ix-field .rdg-label { margin-right: 0; }
.pmw-ix-field .rpm-select { align-self: flex-start; max-width: 100%; }
.pmw-ix-input { width: 100%; box-sizing: border-box; min-width: 0; }
.pmw-ix-more[hidden] { display: none; }
.pmw-ix-msg { margin: 6px 0 2px; }
.pmw-ix-msg .rdg-note { margin-bottom: 4px; }
.pmw-ix-inbox { margin-top: 14px; }
.pmw-ix .pmw-url { overflow-wrap: anywhere; }
.pmw-ix .pmw-gap-foot .rdg-btn, .pmw-ix .rpm-select, .pmw-ix .pmw-ix-input { min-height: 30px; }

@media (max-width: 720px) {
  .pmw-photos { grid-template-columns: 1fr; }
  .pmw-register td:first-child { min-width: 180px; }
}
