:root {
  --bg:#f2efe6; --card:#fffefa; --ink:#232a20; --muted:#6f7565; --line:#e3ddcb;
  --accent:#2e5d3f; --accent-soft:#e4ecdf; --accent-line:#cfdec6;
  --yes:#256d31; --yes-bg:#ddefdb; --no:#b23325; --no-bg:#f8ddd6; --unk:#8a6414; --unk-bg:#f6ecd2;
}
* { box-sizing:border-box; }
body { margin:0 auto; padding:16px 16px 48px; max-width:960px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  background:var(--bg); color:var(--ink); line-height:1.5; }
h1 { font-size:1.65rem; margin:.1em 0; letter-spacing:-.02em; color:var(--accent); }
h2 { font-size:1.05rem; margin:1.4em 0 .5em; }
a { color:inherit; }
.masthead { padding-bottom:12px; border-bottom:3px solid var(--accent); }
.tagline { margin:.1em 0 0; color:var(--muted); font-size:.95rem; }
.anforderungen { background:var(--accent-soft); border:1px solid var(--accent-line);
  border-radius:14px; padding:14px 16px; margin-top:16px; }
.anforderungen h2 { margin:0 0 8px; font-size:.8rem; text-transform:uppercase;
  letter-spacing:.08em; color:var(--accent); }
.kriterien-liste { list-style:none; margin:0; padding:0; display:grid;
  grid-template-columns:1fr; gap:4px 20px; font-size:.92rem; }
@media (min-width:480px) { .kriterien-liste { grid-template-columns:1fr 1fr; } }
.anforderungen .fahrzeug { margin:10px 0 0; }
.anforderungen summary { font-size:.85rem; color:var(--muted); font-weight:600; cursor:pointer; }
details.archiv, details.raw { margin:20px 0; }
summary { cursor:pointer; font-weight:600; }
table { border-collapse:collapse; width:100%; max-width:480px; }
td { padding:4px 8px; border-bottom:1px solid var(--line); font-size:.95rem; }
.cards { display:grid; gap:16px; grid-template-columns:1fr; margin-top:18px; }
@media (min-width:640px) { .cards { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); } }
.card { display:block; background:var(--card); border:1px solid var(--line); border-radius:14px;
  overflow:hidden; text-decoration:none;
  box-shadow:0 1px 2px rgba(35,42,32,.06), 0 6px 18px rgba(35,42,32,.07); }
.card img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.card-body { padding:12px 14px 14px; }
.card h2 { font-size:1rem; margin:.35em 0 .2em; line-height:1.3; }
.card.archived { opacity:.55; }
.topline { display:flex; gap:8px; align-items:center; margin:.2em 0; flex-wrap:wrap; }
.status { font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:99px;
  background:#e8e5da; text-transform:uppercase; letter-spacing:.04em; }
.status-neu { background:#dce7f5; color:#274b77; }
.status-kontaktiert { background:var(--unk-bg); color:var(--unk); }
.status-besichtigt { background:var(--yes-bg); color:var(--yes); }
.flag { font-size:.75rem; font-weight:700; color:var(--no); }
.score { margin-left:auto; font-weight:800; font-size:.85rem; padding:2px 10px; border-radius:99px; }
.score-high { background:var(--yes-bg); color:var(--yes); }
.score-mid { background:var(--unk-bg); color:var(--unk); }
.score-low { background:var(--no-bg); color:var(--no); }
.meta { color:var(--muted); font-size:.9rem; margin:.2em 0; }
.meta.price { color:var(--ink); font-weight:600; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 0; padding:0; list-style:none; }
.chip { font-size:.78rem; font-weight:600; padding:3px 10px; border-radius:99px; white-space:nowrap; }
.chip.yes { background:var(--yes-bg); color:var(--yes); }
.chip.no { background:var(--no-bg); color:var(--no); }
.chip.unknown { background:var(--unk-bg); color:var(--unk); }
.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px; margin-top:10px; }
.gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; display:block; }
.checklist { list-style:none; padding:0; margin:0; }
.checklist li { display:flex; align-items:baseline; gap:8px; padding:4px 0; flex-wrap:wrap; }
.checklist em { color:var(--muted); font-size:.88rem; }
.fragen li { margin:.2em 0; }
.proscons { display:grid; gap:0 24px; grid-template-columns:1fr; }
@media (min-width:640px) { .proscons { grid-template-columns:1fr 1fr; } }
.chat { display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.msg { max-width:85%; border-radius:14px; padding:8px 12px; }
.msg.wir { align-self:flex-end; background:var(--accent-soft); border:1px solid var(--accent-line); }
.msg.verkaeufer { align-self:flex-start; background:var(--card); border:1px solid var(--line); }
.msg-meta { margin:0 0 2px; font-size:.72rem; color:var(--muted); font-weight:600; }
.msg-text { margin:0; white-space:pre-line; font-size:.92rem; }
.back { margin:0 0 4px; font-size:.9rem; }
.empty { color:var(--muted); }
pre { white-space:pre-wrap; font:inherit; background:var(--card); padding:12px; border-radius:10px; border:1px solid var(--line); }
