:root{
  /* Farben aus dem Logo: Oliv und Gold */
  --bg:#121310; --karte:#1b1c17; --karte2:#24261f; --rand:#3a3d31;
  --text:#f2f0e6; --grau:#a5a394; --akzent:#d8b45c; --akzent2:#8a9a4e;
  --rot:#c76a52;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);
  font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  overscroll-behavior-y:contain}
.rahmen{max-width:480px;margin:0 auto;padding:0 12px calc(40px + env(safe-area-inset-bottom))}
header{display:flex;align-items:center;gap:8px;
  padding:calc(14px + env(safe-area-inset-top)) 2px 10px}
header .punkt{width:30px;height:30px;border-radius:50%;background:#fff;
  display:block;object-fit:cover;flex:0 0 auto}
header h1{font-size:17px;margin:0;font-weight:600;letter-spacing:.2px}
header .rechts{margin-left:auto;font-size:12px;color:var(--grau);text-decoration:none;
  border:1px solid var(--rand);border-radius:99px;padding:4px 10px}
.reiter{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:14px}
.reiter button{padding:11px 4px;border:1px solid var(--rand);background:var(--karte);
  color:var(--grau);border-radius:11px;font-size:14px;font-weight:600;cursor:pointer}
.reiter button.an{background:var(--akzent);border-color:var(--akzent);color:#141510}
.karte{background:var(--karte);border:1px solid var(--rand);border-radius:14px;
  padding:13px;margin-bottom:11px}
.titel{font-size:13px;color:var(--grau);margin:0 0 9px;font-weight:600;
  text-transform:uppercase;letter-spacing:.6px}
.gitter{display:grid;gap:6px}
.g2{grid-template-columns:1fr 1fr}
.g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.g7{grid-template-columns:repeat(7,1fr)}
.wahl{padding:12px 2px;border:1px solid var(--rand);background:var(--karte2);
  color:var(--text);border-radius:10px;font-size:15px;font-weight:600;
  cursor:pointer;text-align:center}
.wahl.an{background:var(--akzent);border-color:var(--akzent);color:#141510}
.wahl.klein{font-size:13px;padding:10px 2px}
.wahl.aus{color:#5f574f}
input,textarea,select{width:100%;background:var(--karte2);border:1px solid var(--rand);
  color:var(--text);border-radius:10px;padding:11px;font:inherit}
textarea{resize:vertical;min-height:74px;font-size:14px}
.gross{width:100%;padding:15px;border:0;border-radius:12px;background:var(--akzent);
  color:#141510;font-size:16px;font-weight:700;cursor:pointer;margin-top:2px}
.gross.zweit{background:var(--akzent2)}
.gross:disabled{background:#3a342f;color:#77706a;cursor:default}
.termin{display:flex;align-items:center;gap:11px;padding:12px;border-radius:11px;
  background:var(--karte2);border:1px solid var(--rand);margin-bottom:7px;cursor:pointer}
.termin .nr{width:26px;height:26px;border-radius:50%;background:var(--bg);
  border:1px solid var(--rand);display:grid;place-items:center;font-size:13px;
  font-weight:700;color:var(--grau);flex:0 0 auto}
.termin b{display:block;font-size:15px;font-weight:600}
.termin span{font-size:13px;color:var(--grau)}
.termin.an{border-color:var(--akzent2);background:#232616}
.termin.an .nr{background:var(--akzent2);border-color:var(--akzent2);color:#141510}
.hinweis{font-size:12.5px;color:var(--grau);margin:8px 2px 0;line-height:1.4}
.ablage{border:1.5px dashed var(--rand);border-radius:13px;padding:24px 12px;
  text-align:center;color:var(--grau);font-size:14px;cursor:pointer;background:var(--karte2)}
.treffer{display:flex;gap:9px;align-items:flex-start;background:#232616;
  border:1px solid var(--akzent2);border-radius:11px;padding:11px;font-size:14px}
.treffer.warn{background:#2a2018;border-color:var(--rot)}
.treffer .haken{color:var(--akzent2);font-size:17px;line-height:1.2}
.treffer.warn .haken{color:var(--rot)}
.zeile{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 0;border-top:1px solid var(--rand);font-size:14px}
.zeile:first-of-type{border-top:0}
.pille{font-size:12px;padding:4px 9px;border-radius:99px;background:#232616;
  color:var(--akzent2);border:1px solid var(--akzent2);white-space:nowrap}
.pille.aus{background:#2a2018;color:var(--rot);border-color:var(--rot)}
.blatt{display:none}.blatt.an{display:block}
.meldung{padding:11px 13px;border-radius:11px;font-size:14px;margin-bottom:11px;
  background:#2a2018;border:1px solid var(--rot);color:#f3d9d2}
.meldung.gut{background:#232616;border-color:var(--akzent2);color:#e2efd6}
.laedt{display:inline-block;width:14px;height:14px;border:2px solid #141510;
  border-top-color:transparent;border-radius:50%;animation:dreh .7s linear infinite;
  vertical-align:-2px;margin-right:7px}
@keyframes dreh{to{transform:rotate(360deg)}}
.mitte{max-width:340px;margin:12vh auto 0;padding:0 16px;text-align:center}

/* Kopf und Anmeldeseite */
header h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:.4px}
.logogross{width:132px;height:132px;border-radius:50%;background:#fff;
  display:block;margin:0 auto 16px;object-fit:cover}
