/* Field reports on an armory entry: the confirmed-value plate, the spread figure,
   the recent-reports table and the filing form. Printed-manual rules apply - square
   corners, hairlines, one red, no shadows. */

.rep { margin-top: 2.2rem; }
.rep-rule { font-family: var(--mono); font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }

.rep-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1rem; align-items: start; }
@media (max-width: 900px) { .rep-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- the value plate ---------- */
.rep-value .hud-head { align-items: center; }
.rep-figure { font-family: var(--serif); font-size: 3.2rem; line-height: 1; margin: .5rem 0 .3rem; text-align: center; }
.rep-sub { font-family: var(--mono); font-size: .82rem; color: var(--ink-2); text-align: center; margin: 0; }
.rep-need, .rep-clash { font-family: var(--mono); font-size: .78rem; color: var(--ink-2); text-align: center; margin: .5rem 0 0; }
.rep-clash { color: var(--red); }
.rep-empty { font-size: .9rem; color: var(--ink-2); margin: .2rem 0; }

/* The rubber stamp: rotated, ink-worn, the one red thing in the header. */
.rep-stamp {
  font-family: var(--mono); font-weight: 700; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--red); border: 2px solid var(--red); padding: .2rem .5rem;
  transform: rotate(-4deg); opacity: .85;
}

/* ---------- spread of reported prices ---------- */
.rep-scale { margin: 1.4rem .6rem .2rem; }
.rep-track { position: relative; height: 46px; border-bottom: 1px solid var(--ink); }
.rep-tick { position: absolute; bottom: 0; width: 5px; margin-left: -2px; background: var(--ink-2); min-height: 6px; }
.rep-axis { position: relative; height: 1.4rem; }
.rep-axis-mark {
  position: absolute; top: .3rem; transform: translateX(-50%);
  font-family: var(--mono); font-size: .72rem; color: var(--ink-3); white-space: nowrap;
}
.rep-axis-mark:first-child { transform: none; }
.rep-axis-mark:last-child { transform: translateX(-100%); }
.rep-cap { font-family: var(--mono); font-size: .72rem; color: var(--ink-3); text-align: center; margin: .9rem 0 0; }

/* ---------- recent reports ---------- */
.rep-table { margin-top: 1rem; }
.rep-table .rep-when { font-family: var(--mono); font-size: .8rem; color: var(--ink-2); white-space: nowrap; }
.rep-table abbr { text-decoration: none; font-family: var(--mono); font-size: .8rem; }
.rep-yes, .rep-no { font-family: var(--mono); font-size: .78rem; }
.rep-yes::after { content: " \2713"; }
.rep-no::after { content: " \2717"; }
.rep-no { color: var(--ink-3); }
.rep-stale td { opacity: .6; }
.rep-flag { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); }

/* ---------- the form ---------- */
.rep-hint { font-size: .86rem; color: var(--ink-2); margin: 0 0 .7rem; }
.rep-form { display: grid; gap: .3rem; }
.rep-form .label { margin-top: .4rem; }
.rep-form input[type="text"], .rep-form select {
  font-family: var(--mono); font-size: .9rem; color: var(--ink);
  background: var(--paper); border: 1px solid var(--ink); padding: .5rem .6rem; width: 100%;
}
.rep-check { display: flex; gap: .5rem; align-items: flex-start; font-size: .82rem; color: var(--ink-2); margin: .7rem 0 .3rem; }
/* The browser default is blue, which is the one colour this manual never prints. */
.rep-check input[type="checkbox"] { accent-color: var(--red); }
.rep-form .btn { margin-top: .5rem; width: 100%; }
.rep-withdraw { margin-top: .9rem; border-top: 1px solid var(--rule-2); padding-top: .7rem; }
.rep-mine { font-family: var(--mono); font-size: .78rem; color: var(--ink-2); margin: 0 0 .5rem; }
.rep-quiet { font-size: .74rem; padding: .4rem .7rem; color: var(--ink-2); }

/* ---------- submission feedback ---------- */
.rep-msgs { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .4rem; }
.rep-msg { font-family: var(--mono); font-size: .82rem; border: 1px solid var(--ink); background: var(--plate); padding: .5rem .7rem; }
.rep-msg.error { border-color: var(--red); color: var(--red); }

/* ---------- fit votes in the attachment tables ---------- */
.rep-fit { display: flex; gap: .3rem; align-items: center; flex-wrap: wrap; margin-top: .25rem; }
.rep-fit button {
  font-family: var(--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .04em;
  background: var(--plate); border: 1px solid var(--rule); color: var(--ink-2); padding: .15rem .4rem; cursor: pointer;
}
.rep-fit button:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.rep-fit button.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.rep-fit-count { display: block; font-family: var(--mono); font-size: .7rem; color: var(--ink-3); margin-top: .2rem; }
