:root { --ink:#1f2328; --muted:#6b7280; --line:#d0d7de; --bg:#fff; --soft:#f6f8fa;
  --green:#1a7f37; --amber-green:#7a9a01; --amber:#b26a00; --pink:#c2185b; --white:#8a8f98; --bad:#b00020; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, sans-serif; margin:0; color:var(--ink); background:var(--bg); }
header.top { display:flex; align-items:center; gap:1.5rem; padding:.6rem 1.2rem; border-bottom:1px solid var(--line); background:var(--soft); }
header.top h1 { font-size:1.1rem; margin:0; } header.top h1 span { color:var(--muted); font-weight:normal; font-size:.85rem; }
nav.tabs a { display:inline-block; padding:.4rem .8rem; border-radius:6px; text-decoration:none; color:var(--ink); }
nav.tabs a.active { background:var(--ink); color:#fff; } nav.tabs a.stub { color:var(--muted); }
nav.tabs a.stub small { font-size:.7em; }
header.top .right { margin-left:auto; font-size:.85rem; color:var(--muted); }
main { padding:1rem 1.2rem 3rem; }
.flash { padding:.6rem .9rem; border-radius:6px; margin:.5rem 0; border-left:4px solid var(--muted); background:var(--soft); }
.flash.ok { border-color:var(--green); } .flash.bad { border-color:var(--bad); background:#fff0f0; } .flash.warn { border-color:var(--amber); background:#fff8ec; }
.warnbox { background:#fff4e5; border-left:4px solid var(--amber); padding:.6rem .8rem; margin:.6rem 0; }
table.grid { border-collapse:collapse; width:100%; font-size:.9rem; }
table.grid th, table.grid td { border-bottom:1px solid var(--line); padding:.35rem .5rem; text-align:left; vertical-align:top; }
table.grid th { background:var(--soft); position:sticky; top:0; white-space:nowrap; }
table.grid th a { color:inherit; text-decoration:none; } table.grid th a.sorted::after { content:" ▾"; } table.grid th a.sorted.asc::after { content:" ▴"; }
table.grid td.num, table.grid th.num { text-align:right; font-variant-numeric:tabular-nums; }
table.grid img.thumb { width:64px; height:48px; object-fit:cover; border-radius:3px; background:var(--soft); }
.chip { display:inline-block; padding:.1rem .5rem; border-radius:999px; color:#fff; font-size:.75rem; font-weight:600; }
.chip.green{background:var(--green)} .chip.amber_green{background:var(--amber-green)} .chip.amber{background:var(--amber)}
.chip.pink{background:var(--pink)} .chip.white{background:var(--white)} .chip.none{background:#ccc;color:#333}
.muted { color:var(--muted); } .bad { color:var(--bad); font-weight:600; } .ok { color:var(--green); }
form.filters { display:flex; flex-wrap:wrap; gap:.6rem; align-items:end; margin:.6rem 0 1rem; }
form.filters label { display:flex; flex-direction:column; font-size:.8rem; color:var(--muted); }
form.filters input, form.filters select { padding:.3rem .4rem; border:1px solid var(--line); border-radius:4px; font-size:.9rem; }
form.entry { max-width:720px; } form.entry label { display:block; margin:.6rem 0 .2rem; font-size:.85rem; color:var(--muted); }
form.entry input[type=text], form.entry input[type=number], form.entry textarea, form.entry select { width:100%; padding:.4rem .5rem; border:1px solid var(--line); border-radius:4px; font-size:.95rem; }
form.entry .row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.8rem; }
button, .btn { padding:.4rem .9rem; border:1px solid var(--ink); background:var(--ink); color:#fff; border-radius:6px; cursor:pointer; text-decoration:none; font-size:.9rem; display:inline-block; }
button.secondary, .btn.secondary { background:#fff; color:var(--ink); } button.danger { background:var(--bad); border-color:var(--bad); }
.actions { display:flex; gap:.6rem; margin-top:1rem; align-items:center; }
.detail { display:grid; grid-template-columns: 2fr 1fr; gap:1.5rem; } .detail dl { display:grid; grid-template-columns: max-content 1fr; gap:.3rem 1rem; }
.detail dt { color:var(--muted); } .photos img { max-width:100%; border-radius:4px; margin:.3rem 0; }
.stat { display:inline-block; margin-right:1.5rem; } .stat b { font-size:1.2rem; }
.card { border:1px solid var(--line); border-radius:8px; padding:1rem; margin:.8rem 0; }
@media (max-width:800px){ .detail{grid-template-columns:1fr} form.entry .row{grid-template-columns:1fr} }

/* ---- 0.3.1 ---- */
.override { color: #b45309; }
button.mini, .mini-link { font-size: .78em; padding: .15rem .45rem; }
button.mini.star { background: none; border: none; cursor: pointer; font-size: 1.1em; color: #999; }
button.mini.star.on { color: #b45309; }
.inline-form { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.inline-form input[type=number] { width: 8em; }
.inline-form input[type=text] { width: 12em; }
td.reorder form { display: inline; }
.ok { color: #15803d; }
.printonly { display: none; }

@media print {
  header.top, .noprint, .flash, .warnbox { display: none !important; }
  .printonly { display: block; }
  body { background: #fff; color: #000; font-size: 10pt; }
  main { max-width: none; padding: 0; }
  .sheet h3 { page-break-after: avoid; margin: .6em 0 .2em; }
  .sheet-table { width: 100%; border-collapse: collapse; page-break-inside: auto; }
  .sheet-table tr { page-break-inside: avoid; }
  .sheet-table th, .sheet-table td { border: 1px solid #444; padding: 3pt 5pt; }
  .sheet-blank { min-width: 5em; }
}
pre.cmd { background:#0f172a; color:#e2e8f0; padding:.6rem .8rem; border-radius:6px;
  overflow-x:auto; font-size:.82rem; line-height:1.45; white-space:pre-wrap; word-break:break-word; }
.chip.overchip { background:#b00020; color:#fff; font-weight:600; }
tr.overrow td { background:#fff0f0; }
.rrpcol { color:#9aa1a9; }
td.rrpcol { font-variant-numeric:tabular-nums; }
tr.retiredrow td { opacity:.55; }
.rrpgap { color:#b26a00; font-weight:600; cursor:help; }

.build { font-size:.6em; font-weight:normal; opacity:.65; letter-spacing:0; cursor:help; }

/* B1: pick an auction, don't hunt for it in a dropdown */
.auctionpick { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; width:100%; margin-bottom:.5rem; }
.auctionpick .pick { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .6rem; border:1px solid var(--line); border-radius:999px; font-size:.85rem; cursor:pointer; background:#fff; }
.auctionpick .pick.on { border-color:var(--ink); background:var(--ink); color:#fff; }
.auctionpick .pick.on .muted { color:#cfd4da; }
.auctionpick .pick input { margin:0; }

/* B2/B6: panels within a page, so Settings and Analyse are not one long scroll */
.subtabs { display:flex; flex-wrap:wrap; gap:.3rem; margin:.6rem 0 1rem; border-bottom:1px solid var(--line); }
.subtabs a { padding:.4rem .8rem; text-decoration:none; color:var(--muted); border:1px solid transparent; border-bottom:none; border-radius:6px 6px 0 0; margin-bottom:-1px; }
.subtabs a:hover { color:var(--ink); }
.subtabs a.on { color:var(--ink); font-weight:600; background:#fff; border-color:var(--line); border-bottom:1px solid #fff; }

/* Thumbnail size: the same table read two ways — scanning prices, or browsing
   pictures the way InterBid's own listing reads. */
table.grid img.thumb.small  { width:64px;  height:48px; }
table.grid img.thumb.medium { width:128px; height:96px; }
table.grid img.thumb.large  { width:256px; height:192px; }
table.grid img.thumb.medium, table.grid img.thumb.large { object-fit:contain; }
table.grid tr:has(img.thumb.large) td, table.grid tr:has(img.thumb.medium) td { vertical-align:middle; }

/* Notices raised by an in-place action, so starring a lot can report what it
   started without taking the page away from where you were scrolling. */
#livenotes { position:fixed; right:1rem; bottom:1rem; z-index:50; max-width:32rem;
             display:flex; flex-direction:column; gap:.4rem; }
#livenotes .flash { box-shadow:0 2px 10px rgba(0,0,0,.18); margin:0; }
