:root { --accent:#2f6f7d; --bg:#f8fafc; --card:#fff; --border:#e2e8f0;
  --text:#0f172a; --muted:#64748b; --err:#dc2626; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg); color:var(--text); }
header { background:var(--accent); color:#fff; padding:12px 16px;
  display:flex; justify-content:space-between; align-items:center;
  position:sticky; top:0; z-index:5; }
header span { font-size:14px; opacity:.9; }
.view { padding:16px; max-width:760px; margin:0 auto; }
.hidden { display:none; }
h2 { margin:.2em 0 .6em; } h3 { margin:1em 0 .4em; }
label { display:block; font-size:13px; color:var(--muted); margin:.6em 0 .2em; }
input, select, textarea { width:100%; padding:11px; font-size:16px;
  border:1px solid var(--border); border-radius:10px; background:var(--card); }
button { padding:11px 16px; font-size:16px; border:0; border-radius:10px;
  background:var(--accent); color:#fff; font-weight:600; cursor:pointer; }
button.secondary { background:#e2e8f0; color:var(--text); }
button.link { background:none; color:var(--accent); padding:0; font-weight:600; }
.row { display:flex; gap:10px; align-items:center; }
.row.between { justify-content:space-between; }
.sticky-actions { position:sticky; bottom:0; background:var(--bg);
  padding:12px 0; margin-top:12px; }
.results { border:1px solid var(--border); border-radius:10px; background:var(--card);
  max-height:220px; overflow:auto; }
.results div { padding:10px 12px; border-bottom:1px solid var(--border); cursor:pointer; }
.results div:hover { background:#f1f5f9; }
.chosen { background:#ecfdf5; border:1px solid #99f6e4; border-radius:10px;
  padding:10px 12px; margin-top:6px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:12px;
  padding:12px 14px; margin-bottom:10px; }
.badge { font-size:12px; padding:2px 8px; border-radius:999px; background:#e2e8f0; }
.badge.bereit { background:#fef3c7; } .badge.uebertragen { background:#d1fae5; }
.badge.fehler { background:#fee2e2; color:var(--err); }
.item { display:flex; justify-content:space-between; align-items:center;
  border:1px solid var(--border); border-radius:10px; padding:8px 10px; margin:6px 0; }
.muted { color:var(--muted); font-size:13px; }
.err { color:var(--err); }
canvas#sig { width:100%; height:180px; border:1px dashed #94a3b8; border-radius:10px;
  background:#fff; touch-action:none; }
dialog { border:0; border-radius:14px; padding:16px; width:min(94vw,560px); }
dialog::backdrop { background:rgba(0,0,0,.4); }

/* Tätigkeitsart-Chips (Mehrfachauswahl) */
.chips { display:flex; flex-wrap:wrap; gap:8px; }
.chip-tog { border:1px solid var(--border); border-radius:999px; padding:7px 14px;
  background:var(--card); color:var(--muted); cursor:pointer; user-select:none; }
.chip-tog.on { background:var(--accent); color:#fff; border-color:transparent; font-weight:600; }

/* Geräteblock */
.devrow { display:grid; grid-template-columns:1fr 1.4fr 1fr auto; gap:6px; margin-bottom:6px; }
.devrow input { padding:8px; }
.devrow .link { color:var(--err); font-size:1.2rem; }

.addbtns { gap:8px; flex-wrap:wrap; margin-top:8px; }
.addbtns button { flex:1; min-width:110px; }
.twocol { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#dialog, #wh-wrap.hidden { display:none; }
