:root{
  --blau:#0b3e91; --bg:#f4f6f8; --rand:#d8dee9; --text:#17202a;
  --grau:#697386; --gelb:#fff3cd; --rot:#f8d7da; --gruen:#d1e7dd;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.topbar{height:58px;background:var(--blau);color:#fff;display:flex;align-items:center;
  padding:0 18px;gap:16px;flex-wrap:nowrap}
.marke{font-weight:700;font-size:19px;white-space:nowrap;flex:0 0 auto}
.sub{opacity:.85;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar a{color:#fff;font-size:14px;white-space:nowrap}
.topbar a:first-of-type{margin-left:auto}
.container{max-width:820px;margin:20px auto;padding:0 14px 60px}

.karte{background:#fff;border:1px solid var(--rand);border-radius:14px;padding:18px;
  margin-bottom:16px;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.karte h2{margin:0 0 4px;font-size:17px}
.karte .hinweis{color:var(--grau);font-size:13px;margin:0 0 14px}
.schritt{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:var(--blau);color:#fff;font-size:14px;margin-right:8px}

/* Grosse Auswahlknoepfe - Bedienung mit Handschuh, wie bei der Stempeluhr */
.knopfgitter{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.wahl{background:#eef2f8;border:2px solid var(--rand);border-radius:12px;padding:14px 12px;
  text-align:left;cursor:pointer;font-size:15px;font-weight:700;color:var(--text);
  min-height:68px;display:flex;flex-direction:column;justify-content:center}
.wahl small{display:block;font-weight:400;font-size:12px;color:var(--grau);margin-top:3px}
.wahl:active{transform:scale(.98)}
.wahl.aktiv{background:var(--blau);border-color:var(--blau);color:#fff}
.wahl.aktiv small{color:#dbe6ff}

.klein .wahl{min-height:52px;font-size:16px;text-align:center;align-items:center}

.masse{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
/* Zusammengeklickte Aufbaufolge, z. B. Platte -> Lamelle -> Platte */
.folge{background:#eef2f8;border:1px solid var(--rand);border-radius:10px;
  padding:12px;margin:12px 0;font-weight:700;font-size:15px;min-height:48px;
  display:flex;align-items:center;flex-wrap:wrap}
label{display:block;font-weight:700;font-size:13px;color:var(--grau);margin:0 0 6px}
label em{font-style:normal;font-weight:400;display:block;font-size:11px}
input[type=text],input[type=number]{width:100%;border:1px solid var(--rand);border-radius:9px;
  padding:12px;font-size:17px;background:#fff;color:var(--text)}
.zeile{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

/* Bild-Knoepfe */
.bilder{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bildknopf{position:relative;border:2px dashed var(--rand);border-radius:12px;background:#fbfcfe;
  min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;cursor:pointer;text-align:center;padding:8px;overflow:hidden}
.bildknopf input{display:none}
.bildknopf .titel{font-weight:700;font-size:14px}
.bildknopf .lupe{font-size:26px}
.bildknopf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bildknopf .haken{position:absolute;right:6px;top:6px;background:#1e7a45;color:#fff;
  border-radius:50%;width:26px;height:26px;display:none;align-items:center;justify-content:center;
  font-size:15px;z-index:2}
.bildknopf.voll{border-style:solid;border-color:#1e7a45}
.bildknopf.voll .haken{display:flex}
.bildknopf.voll .titel,.bildknopf.voll .lupe{position:relative;z-index:2;color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.8)}

.primaer,.sekundaer{border:0;border-radius:11px;padding:16px 18px;font-weight:700;font-size:17px;
  cursor:pointer;text-decoration:none;display:inline-block;text-align:center;width:100%}
.primaer{background:var(--blau);color:#fff}
.primaer:disabled{background:#c3ccd9;cursor:not-allowed}
.sekundaer{background:#e9edf3;color:var(--text);font-size:15px;padding:12px 16px}

.meldung{padding:13px 15px;border-radius:11px;margin:0 0 14px;font-size:14px}
.meldung.warn{background:var(--gelb);border:1px solid #e8d18a}
.meldung.rot{background:var(--rot);border:1px solid #e9a5ad}
.meldung.ok{background:var(--gruen);border:1px solid #9fceb6}

/* Ergebnis */
.vorschlag{border:1px solid var(--rand);border-radius:12px;padding:14px;margin-bottom:10px}
.vorschlag.hoch{background:var(--gruen);border-color:#9fceb6}
.vorschlag.mittel{background:var(--gelb);border-color:#e8d18a}
.vorschlag.niedrig{background:#f1f3f6}
.vorschlag h3{margin:0 0 4px;font-size:17px}
.marke-zeile{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fahne{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--grau)}
ul.liste{margin:8px 0 0;padding-left:20px;font-size:14px}
ul.liste li{margin-bottom:4px}
.dreibild{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.dreibild figure{margin:0}
.dreibild img{width:100%;border-radius:10px;border:1px solid var(--rand);display:block}
.dreibild figcaption{font-size:12px;color:var(--grau);text-align:center;margin-top:4px}
.daten{width:100%;border-collapse:collapse;font-size:14px}
.daten td{border-bottom:1px solid var(--rand);padding:8px 4px}
.daten td:first-child{color:var(--grau);width:45%}
.ref{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--rand);padding:8px 0}
.ref img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--rand)}
.ref .txt{font-size:14px}
.ref .txt small{color:var(--grau)}

@media(max-width:620px){
  .container{margin:14px auto}
  .masse,.zeile{grid-template-columns:1fr}
  .knopfgitter{grid-template-columns:repeat(2,1fr)}
  .bilder{grid-template-columns:1fr}
  .bildknopf{min-height:110px}
}
