@font-face{font-family:"Oswald";font-weight:400;src:url(fonts/oswald-400-latin.ttf) format("truetype")}
@font-face{font-family:"Oswald";font-weight:600;src:url(fonts/oswald-600-latin.ttf) format("truetype")}
@font-face{font-family:"Oswald";font-weight:700;src:url(fonts/oswald-600-latin.ttf) format("truetype")}
@font-face{font-family:"Open Sans";font-weight:400;src:url(fonts/open-sans-400-latin.ttf) format("truetype")}
@font-face{font-family:"Open Sans";font-weight:700;src:url(fonts/open-sans-700-latin.ttf) format("truetype")}
:root{--bg:#f3f2f0;--karte:#fff;--rand:#e6e2dd;--text:#262626;--neben:#5c5c5c;--rot:#a8291f;--gruen:#2d6a34;--gelb:#7a4d00;--gelbbg:#fff8ec;--rotbg:#fdf0ef;--gruenbg:#eaf4ea}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:"Open Sans",Arial,sans-serif;font-size:15px;line-height:1.5}
a{color:var(--rot)}
h1,h2,h3{font-family:"Oswald","Open Sans",sans-serif;margin:0}
h1{font-size:34px;font-weight:700;line-height:1.15}
h2{font-size:20px;font-weight:600}
h3{font-size:16px;font-weight:600}
.neben{color:var(--neben)}
.klein{font-size:12.5px;color:var(--neben)}
/* Kopfzeile */
.kopf{background:#fff;height:72px;border-bottom:1px solid var(--rand);display:flex;align-items:center;gap:18px;padding:0 28px;position:sticky;top:0;z-index:5}
.kopf .marke{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);white-space:nowrap}
.kopf .marke img{height:40px;width:auto}
.kopf .marke .strich{width:1px;height:34px;background:var(--rand)}
.kopf .marke b{font-family:"Oswald";font-weight:600;font-size:18px;letter-spacing:.2px}
.menue{display:flex;gap:26px;margin:0 auto;height:72px;align-items:stretch}
.menue a{display:flex;align-items:center;text-decoration:none;color:var(--text);font-size:15px;border-bottom:3px solid transparent;padding-top:3px;white-space:nowrap}
.menue a.aktiv{font-weight:700;border-bottom-color:var(--rot)}
.nutzer{display:flex;align-items:center;gap:12px;white-space:nowrap}
.nutzer .txt{text-align:right;line-height:1.25}.nutzer .txt b{display:block;font-size:14px}.nutzer .txt span{font-size:12.5px;color:var(--neben)}
.initialen{width:40px;height:40px;border-radius:50%;background:var(--rot);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.burger{display:none;margin-left:auto;border:1px solid var(--rand);background:#fff;border-radius:8px;width:42px;height:42px;font-size:20px;cursor:pointer}
/* Inhalt */
.inhalt{max-width:1400px;margin:0 auto;padding:28px 28px 60px}
.kopfzeile{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.karte{background:var(--karte);border:1px solid var(--rand);border-radius:12px;padding:20px 22px}
.karte.gelb{background:var(--gelbbg);border-color:#efd9a9}.karte.rot{background:var(--rotbg);border-color:#f0c2bd}.karte.dunkel{background:#262626;color:#fff;border-color:#262626}
.karte .kh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.raster{display:grid;gap:20px}
.raster-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.raster-2{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}
.raster-3{grid-template-columns:minmax(0,300px) minmax(0,1fr) minmax(0,400px)}
.kennzahl .l{font-size:13.5px;font-weight:700;color:var(--neben)}.kennzahl .z{font-family:"Oswald";font-size:40px;font-weight:600;line-height:1.1;margin:6px 0 2px}
.kennzahl.gruen .z{color:var(--gruen)}.kennzahl.gelb .z{color:var(--gelb)}.kennzahl.rot .z{color:var(--rot)}
/* Knöpfe */
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;border:2px solid var(--rot);background:var(--rot);color:#fff;white-space:nowrap;font-family:inherit}
.btn.zweit{background:#fff;color:var(--rot)}
.btn.klein{height:36px;padding:0 14px;font-size:13.5px}
.btn.hell{background:#fff;color:var(--text);border-color:#cfcac4}
.btn:hover{filter:brightness(.95)}
.link{color:var(--rot);font-weight:700;text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer;font-weight:700}
/* Tabellen */
table.tab{width:100%;border-collapse:collapse;font-size:14.5px}
table.tab th{text-align:left;font-size:13px;color:var(--neben);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--rand)}
table.tab td{padding:12px 10px;border-bottom:1px solid var(--rand);vertical-align:middle}
table.tab tr:last-child td{border-bottom:0}
table.tab td.r,table.tab th.r{text-align:right}
.rotwert{color:var(--rot);font-weight:700}
.pille{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.pille.gruen{background:var(--gruenbg);color:var(--gruen)}.pille.gelb{background:var(--gelbbg);color:var(--gelb)}.pille.rot{background:var(--rotbg);color:var(--rot)}
/* Formulare */
label.f{display:block;font-size:13px;font-weight:700;color:var(--neben);margin:10px 0 4px}
input[type=text],input[type=search],input[type=number],select,textarea{width:100%;border:1px solid #cfcac4;border-radius:8px;padding:10px 12px;font:inherit;font-size:15px;background:#fff;color:var(--text)}
textarea{min-height:88px}
.reihe{display:flex;gap:16px;flex-wrap:wrap}.reihe>*{flex:1 1 180px}
.hinweisbox{background:#f3f2f0;border-radius:8px;padding:10px 12px;font-size:13.5px}
.meldung{background:var(--gruenbg);border:1px solid #bfe3c4;color:var(--gruen);border-radius:10px;padding:12px 16px;margin:0 0 18px;font-weight:700}
/* Leiste unten (Auswahl) */
.leiste{position:sticky;bottom:12px;background:#262626;color:#fff;border-radius:12px;padding:14px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.leiste .btn.zweit{background:#fff;color:#262626;border-color:#fff}
.leiste .btn.hell{background:transparent;color:#fff;border-color:#fff}
/* Balken Theorie */
.balken{height:8px;border-radius:4px;background:#e6e2dd;overflow:hidden;width:120px;display:inline-block;vertical-align:middle;margin-right:8px}
.balken i{display:block;height:100%;background:var(--gruen)}.balken.gelb i{background:#d8a33a}
/* Terminkarten */
.termin{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.termin.gewaehlt{border-color:var(--rot);box-shadow:0 0 0 2px rgba(168,41,31,.15)}
.termin .frei{color:var(--gruen);font-weight:700;font-size:13.5px;text-align:right;margin-bottom:6px}
.konditionen div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.konditionen b{text-align:right}
.chips label{display:inline-block;background:#f3f2f0;border-radius:999px;padding:8px 14px;margin:4px 6px 4px 0;font-weight:700;font-size:13.5px;cursor:pointer;border:2px solid transparent}
.chips input{display:none}.chips input:checked+span{color:var(--rot)}.chips label:has(input:checked){border-color:var(--rot);background:#fff}
#z-preis{white-space:nowrap}#z-zahlung,#z-storno{max-width:60%}
/* Qualifikations-Filter */
.quali-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.chipbtn{border:2px solid #cfcac4;background:#fff;color:var(--text);border-radius:999px;padding:9px 16px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.chipbtn .n{background:#f3f2f0;border-radius:999px;padding:1px 8px;font-size:12.5px;color:var(--neben)}
.chipbtn.aktiv{border-color:var(--rot);background:var(--rot);color:#fff}.chipbtn.aktiv .n{background:rgba(255,255,255,.2);color:#fff}
.quali-zeile{font-size:13.5px;margin:0 0 12px;min-height:0}.quali-zeile .pille{margin-right:4px}
.raster-3q{grid-template-columns:repeat(3,minmax(0,1fr))}
.qkarte{text-decoration:none;color:var(--text);display:block}.qkarte:hover{border-color:var(--rot)}
.qbalken{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#e6e2dd}.qbalken i{display:block;height:100%}.qbalken .g{background:var(--gruen)}.qbalken .b{background:#d8a33a}.qbalken .r{background:var(--rot)}
/* Fuß */
.fuss{border-top:1px solid var(--rand);margin-top:40px;padding:18px 28px;font-size:12.5px;color:var(--neben);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.fuss b{color:var(--rot)}
/* Tausch */
.tausch{display:grid;grid-template-columns:1fr 40px 1fr;gap:12px;align-items:center}
.tausch .box{background:#f3f2f0;border-radius:10px;padding:12px 14px}
.tausch .pfeil{text-align:center;font-size:24px;color:var(--rot)}
/* Login */
.login{max-width:440px;margin:60px auto}
/* Responsiv */
@media (max-width:1300px){.kopf{gap:12px;padding:0 18px}.menue{gap:14px}.menue a{font-size:13.5px}.nutzer .txt{display:none}.inhalt{padding:24px 20px 50px}}
@media (max-width:1180px){.raster-3{grid-template-columns:1fr}.menue{gap:16px}.menue a{font-size:14px}}
@media (max-width:980px){.raster-3q{grid-template-columns:1fr}.kopf{padding:0 16px;gap:12px}.menue{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--rand);flex-direction:column;height:auto;padding:8px 16px 14px}.menue.offen{display:flex}.menue a{border-bottom:0;border-left:3px solid transparent;padding:10px 12px;height:auto}.menue a.aktiv{border-left-color:var(--rot)}.burger{display:block}.nutzer .txt{display:none}
 .raster-4{grid-template-columns:repeat(2,minmax(0,1fr))}.raster-2{grid-template-columns:1fr}.inhalt{padding:20px 16px 40px}h1{font-size:28px}}
@media (max-width:640px){.raster-4{grid-template-columns:1fr}.kopfzeile .btn{width:100%}.kopfzeile>div:last-child{width:100%;display:flex;flex-direction:column;gap:10px}
 table.tab.karten thead{display:none}table.tab.karten tr{display:block;border:1px solid var(--rand);border-radius:10px;padding:8px 10px;margin-bottom:10px}table.tab.karten td{display:block;border:0;padding:4px 0}table.tab.karten td.r{text-align:left}table.tab.karten td[data-l]:before{content:attr(data-l) ": ";color:var(--neben);font-size:12.5px}table.tab.karten td{white-space:normal!important}table.tab.karten td form{display:inline}.kh{flex-wrap:wrap}.karte .kh>div{max-width:100%}
 .tausch{grid-template-columns:1fr}.tausch .pfeil{transform:rotate(90deg)}.leiste{position:static}.fuss{padding:16px}.reihe>*{flex-basis:100%}}
