:root{--p:#6EAA27;--bg:#0d120e;--card:#151d17;--fg:#e8eee9;--muted:#9aa89d;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--fg)}
/* QA-R4-LOW: lange Tokens/Teilenummern brechen Cards/Tabellen nicht mehr auf */
.card p,td,th{overflow-wrap:anywhere}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;background:#0a0f0b;border-bottom:1px solid #223;flex-wrap:wrap;gap:.5rem}
.topbar h1{font-size:1.2rem;margin:0}
nav a{color:var(--fg);margin-right:1rem;text-decoration:none}
nav a:hover{color:var(--p)}
main{max-width:1100px;margin:1.5rem auto;padding:0 1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.card{background:var(--card);border-radius:10px;padding:1rem;margin-bottom:1rem}
.bike h3{margin:.2rem 0}
.btn{background:var(--p);color:#fff;border:0;border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-size:1rem}
.btn-sm{padding:.35rem .7rem;font-size:.85rem}
.btn-danger{background:#b3402e}
.btn[disabled]{opacity:.6;cursor:wait}
.muted{color:var(--muted)}
.alert{color:#ff8080}
.row{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.form{display:grid;gap:.8rem;max-width:480px}
.form label{display:flex;flex-direction:column;gap:.2rem;font-size:.95rem}
input,select,textarea{background:#0a0f0b;color:var(--fg);border:1px solid #2a352c;border-radius:6px;padding:.45rem;font-size:1rem}
input[type=checkbox]{width:1.2rem;height:1.2rem}
.foto{max-width:100%;max-height:340px;border-radius:10px;display:block;margin:.5rem 0}
.thumb{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:.5rem;display:block}
table{border-collapse:collapse;width:100%}
th,td{border:1px solid #2a352c;padding:.4rem .6rem;text-align:left}
footer{padding:1rem;text-align:center}
.hidden{display:none!important}
a{color:var(--p)}
/* QA-R4-LOW: Druck — helle Schrift auf weißem Papier war unlesbar */
@media print{
  body{background:#fff;color:#000}
  .topbar,footer,.btn{display:none}
  .card{background:#fff;border:1px solid #ccc}
  .muted{color:#555}
}
/* QA-R1: Mobile — Topbar bricht um, Touch-Targets >= 40px, kein iOS-Zoom (16px Inputs) */
@media (max-width:600px){
  .topbar{padding:.6rem .8rem}
  nav a{margin-right:.6rem}
  main{margin:1rem auto}
  .btn{padding:.6rem 1.1rem}
  .btn-sm{padding:.5rem .8rem}
  .form{max-width:100%}
  th,td{padding:.3rem .4rem;font-size:.9rem}
}
