/* Theme tokens */
:root{
  --bg:#ffffff;
  --card:#ffffff;
  --text:#111;
  --muted:#666;
  --line:#eee;

  --btn:#f5f5f5;
  --btnHover:#ececec;

  --primaryBorder:#b9d3ff;
  --primaryBg:#eaf2ff;
  --primaryHover:#dbe9ff;

  --dangerBorder:#ffb3b3;
  --dangerBg:#fff0f0;
  --dangerHover:#ffe3e3;
  --dangerText:#a00;

  --okBorder:#bfe7bf;
  --okBg:#eef9ee;
  --warnBorder:#ffd38a;
  --warnBg:#fff6e8;
  --badBorder:#ffb3b3;
  --badBg:#fff0f0;

  --pillBorder:#ddd;
  --pillBg:#f7f7f7;
}

/* Base layout */
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  margin: 24px;
  background: var(--bg);
  color: var(--text);
}

a{ color: inherit; text-decoration: none; }
a:hover{ text-decoration: underline; }

/* Layout helpers */
.row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

/* Cards */
.card{
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  margin: 12px 0;
  background: var(--card);
}

.muted{ color: var(--muted); }

/* Buttons */
.btn{
  display:inline-block;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--btn);
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.btn:hover{
  background: var(--btnHover);
  text-decoration: none;
}

.btn-primary{
  border-color: var(--primaryBorder);
  background: var(--primaryBg);
}
.btn-primary:hover{
  background: var(--primaryHover);
}

.btn-danger{
  border-color: var(--dangerBorder);
  background: var(--dangerBg);
  color: var(--dangerText);
}
.btn-danger:hover{
  background: var(--dangerHover);
  text-decoration: none;
}

button, input, select{
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  font: inherit;
  background: #fff;
}
button{ cursor:pointer; background: var(--btn); }
button:hover{ background: var(--btnHover); }

button.btn{
  background: var(--btn);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 10px;
  line-height: 1;
}
button.btn:hover{ background: var(--btnHover); }

button.btn-danger{
  border-color: var(--dangerBorder);
  background: var(--dangerBg);
  color: var(--dangerText);
}
button.btn-danger:hover{ background: var(--dangerHover); }

/* Badges */
.badge{
  display:inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid var(--pillBorder);
  background: var(--pillBg);
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}
.badge-ok{ border-color: var(--okBorder); background: var(--okBg); }
.badge-warn{ border-color: var(--warnBorder); background: var(--warnBg); }
.badge-bad{ border-color: var(--badBorder); background: var(--badBg); }

/* Error cards */
.card-error{
  border-color: var(--dangerBorder);
  background: var(--dangerBg);
}
.card-error h2{
  color: var(--dangerText);
}
.card-wide{
  max-width: 860px;
  padding: 16px 18px;
}

/* Tables */
table{ border-collapse: collapse; width: 100%; }
th, td{ border-bottom: 1px solid var(--line); padding: 8px; text-align: left; vertical-align: top; }
th{ font-weight: 700; background: #fafafa; }

/* Code blocks */
code{
  background:#f6f6f6;
  border:1px solid var(--line);
  padding:2px 6px;
  border-radius:8px;
  font-size: 0.95em;
}
pre{
  background:#fafafa;
  border:1px solid var(--line);
  padding:10px;
  border-radius:12px;
  overflow:auto;
}

/* Hilfs-Klasse für sehr lange Werte */
.wrap{ word-break: break-word; white-space: normal; }
