body { font-family: system-ui, Arial, sans-serif; margin: 0; background: #0f1115; color: #e8e8e8; }
.wrap { max-width: 1020px; margin: 28px auto; padding: 0 16px; }
.card { background: #171a21; padding: 16px; border-radius: 12px; margin: 14px 0; border: 1px solid #252a36; }
label { display: block; margin: 8px 0; }
input, select, button { width: 100%; padding: 10px; border-radius: 10px; border: 1px solid #2d3444; background: #0f1115; color: #e8e8e8; }
button { cursor: pointer; margin-top: 10px; }
.row { border: 1px dashed #2d3444; padding: 12px; border-radius: 12px; margin: 10px 0; }
a { color: #7cc4ff; }
hr { border: none; border-top: 1px solid #2d3444; margin: 16px 0; }
.hint { opacity: 0.8; font-size: 0.95rem; }

.toolbar { display: flex; gap: 12px; align-items: end; }
.toolbar .spacer { flex: 1; }

.rowButtons { display: flex; gap: 10px; flex-wrap: wrap; }
.rowButtons button { flex: 1; min-width: 240px; }

.pill { padding: 8px 12px; border-radius: 999px; display: inline-block; border: 1px solid #2d3444; margin: 6px 0; }
.ROT { background: rgba(255, 50, 50, 0.15); }
.GELB { background: rgba(255, 200, 50, 0.15); }
.GRUEN { background: rgba(50, 255, 120, 0.12); }

.dashRow { margin-top: 10px; padding-top: 6px; border-top: 1px solid #23283a; }
.legal { font-size: 0.9rem; opacity: 0.75; margin-left: 6px; }
.help {
  display:inline-block;
  margin-left:8px;
  width:18px;
  height:18px;
  line-height:18px;
  text-align:center;
  border-radius:999px;
  border:1px solid #2d3444;
  opacity:0.85;
  font-size:12px;
  cursor:help;
}
.small { font-size: 0.92rem; opacity: 0.85; }
.grid2 { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.matrix { width: 100%; border-collapse: collapse; margin: 10px 0; }
.matrix th, .matrix td { border: 1px solid #2d3444; padding: 10px; text-align: center; }
.matrix th { text-align: left; }
.matrix td.activeCell { outline: 3px solid #fff; box-shadow: 0 0 0 3px #000 inset; }
.mLvl { opacity: 0.85; font-size: 0.9rem; }
.csItem { display:block; margin: 4px 0; }
.evidence { margin-top: 12px; padding-top: 10px; border-top: 1px dashed rgba(255,255,255,0.15); }
.fileRow { display:flex; gap:10px; align-items:center; margin: 6px 0; }
.fileRow a { text-decoration: underline; }
.faq summary { cursor: pointer; margin: 8px 0; }
.small { font-size: 0.92rem; opacity: 0.85; }
.help {
  display:inline-block;
  margin-left:8px;
  width:18px;height:18px;line-height:18px;
  text-align:center;border-radius:999px;
  border:1px solid rgba(255,255,255,0.35);
  opacity:0.9;font-size:12px;cursor:help;
}
.grid2 { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
