/* Vitalcenter Soest - Optik am 20.08.2026 von Julius abgenommen.
   Dunkles Petrol mit Tuerkis-Verlauf, abgeleitet aus dem INJOY-Kooperationsvorschlag. */
:root{
  --tief:#0C171C; --dunkel:#0E272C; --petrol:#1E3640; --karte:#152730;
  --tuerkis:#31B9BC; --mint:#50D2C1; --hell:#EDF8F8; --grau:#8FAEB6;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(160deg,var(--tief),var(--petrol) 60%,var(--dunkel));
  color:var(--hell);font-family:Inter,"Liberation Sans",system-ui,sans-serif;line-height:1.55}
.huelle{max-width:560px;margin:0 auto;padding:28px 20px 64px}
.huelle.weit{max-width:1080px}
header.marke{display:flex;align-items:center;gap:12px;margin-bottom:26px}
header.marke img{height:38px;width:auto}
header.marke .titel{font-weight:600;letter-spacing:.3px}
header.marke .titel small{display:block;color:var(--grau);font-size:11px;letter-spacing:2px;text-transform:uppercase}
h1{font-size:23px;margin:0 0 6px}
h2{font-size:16px;margin:26px 0 10px;color:var(--mint);letter-spacing:.4px}
p.hinweis{color:var(--grau);margin:0 0 20px;font-size:14px}
.karte{background:var(--karte);border:1px solid rgba(80,210,193,.14);border-radius:16px;padding:20px;margin-bottom:14px}
.karte.gross{padding:26px}
label{display:block;font-size:13px;color:var(--grau);margin:14px 0 5px}
input[type=text],input[type=email],input[type=tel],input[type=number],select{
  width:100%;padding:13px 14px;border-radius:11px;border:1px solid rgba(143,174,182,.28);
  background:rgba(12,23,28,.6);color:var(--hell);font-size:16px;font-family:inherit}
input:focus,select:focus{outline:2px solid var(--tuerkis);border-color:transparent}
.knopf{display:block;width:100%;margin-top:20px;padding:15px;border:0;border-radius:12px;
  background:linear-gradient(120deg,var(--tuerkis),var(--mint));color:#06232a;font-weight:700;
  font-size:16px;font-family:inherit;cursor:pointer;text-align:center;text-decoration:none}
.knopf:disabled{opacity:.4;cursor:not-allowed}
.knopf.rand{background:transparent;border:1.5px solid var(--tuerkis);color:var(--mint)}
.knopf.wa{background:#25D366;color:#06232a}
.knopf.warn{background:transparent;border:1.5px solid #E4A11B;color:#E4A11B}
.zeile{display:flex;gap:10px;flex-wrap:wrap}
.zeile>*{flex:1}
a{color:var(--mint)}
.meldung{padding:13px 15px;border-radius:11px;font-size:14px;margin-bottom:16px}
.meldung.fehler{background:rgba(228,84,84,.14);border:1px solid rgba(228,84,84,.4);color:#FFC9C9}
.meldung.info{background:rgba(49,185,188,.12);border:1px solid rgba(49,185,188,.35)}
.status{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--grau);margin-bottom:6px}
.punkt{width:9px;height:9px;border-radius:50%;background:var(--grau);flex:none}
.punkt.gruen{background:var(--mint);box-shadow:0 0 0 4px rgba(80,210,193,.16)}
.punkt.rot{background:#E45454;box-shadow:0 0 0 4px rgba(228,84,84,.16)}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi .feld{background:var(--karte);border:1px solid rgba(80,210,193,.14);border-radius:14px;padding:16px}
.kpi .wert{font-size:26px;font-weight:700;color:var(--hell)}
.kpi .name{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--grau)}
.balken{height:9px;border-radius:6px;background:rgba(12,23,28,.7);overflow:hidden;margin-top:9px}
.balken span{display:block;height:100%;background:linear-gradient(90deg,var(--tuerkis),var(--mint))}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--grau);font-weight:500;font-size:11px;letter-spacing:1.2px;
  text-transform:uppercase;padding:9px 8px;border-bottom:1px solid rgba(143,174,182,.18)}
td{padding:11px 8px;border-bottom:1px solid rgba(143,174,182,.09);vertical-align:middle}
.merker{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}
.merker.ok{background:rgba(80,210,193,.16);color:var(--mint)}
.merker.warn{background:rgba(228,161,27,.16);color:#E4A11B}
.merker.aus{background:rgba(228,84,84,.16);color:#FF9C9C}
.klein{font-size:12px;color:var(--grau)}
nav.reiter{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
nav.reiter a{padding:9px 16px;border-radius:10px;background:var(--karte);text-decoration:none;font-size:14px}
nav.reiter a.aktiv{background:linear-gradient(120deg,var(--tuerkis),var(--mint));color:#06232a;font-weight:600}
form.inline{display:inline}
button.mini{padding:6px 11px;border-radius:8px;border:1px solid rgba(143,174,182,.3);
  background:transparent;color:var(--hell);font-size:12px;cursor:pointer;font-family:inherit}
