/* Automatisch erzeugt aus werkzeug/quellen/tierarzt-app.css durch stile_bauen.py - nicht von Hand aendern. */

.idf {
  
  --ground:#FBF9F5;
  --surface:#FFFFFF;
  --surface-2:#F3EFE8;
  --ink:#1F2429;
  --ink-2:#4A5560;
  --muted:#656F79;
  --line:#E6E0D6;
  --line-2:#D3CBBE;
  --accent:#1F6F6B;
  --accent-dark:#175451;
  --accent-soft:#E2F0EE;
  --warn:#A85A12;
  --warn-soft:#FBF0E2;
  --crit:#9E3320;
  --good:#2C7A52;
  --good-soft:#E4F1E9;
  --radius:12px;
  --schatten:0 1px 2px rgba(31,36,41,.05), 0 8px 26px rgba(31,36,41,.06);

  --f-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;
}
.idf * {box-sizing:border-box}
.idf {
  margin:0; padding-inline:20px;
  background:var(--ground); color:var(--ink);
  font-family:var(--f-ui); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.idf .wrap {max-width:780px; margin:0 auto; padding-block:0 72px}
@media (max-width:760px){
}
.idf h1,
.idf h2,
.idf h3 {margin:0; line-height:1.15; text-wrap:balance; font-weight:700; letter-spacing:-.02em}
.idf h1 {font-size:clamp(1.9rem,5.5vw,2.8rem)}
.idf h2 {font-size:1.4rem; letter-spacing:-.015em}
.idf h3 {font-size:1.02rem; letter-spacing:-.005em}
.idf p {margin:0}
.idf a {color:var(--accent)}
.idf a:focus-visible,
.idf button:focus-visible,
.idf input:focus-visible,
.idf label:focus-visible {
  outline:3px solid var(--accent); outline-offset:2px; border-radius:4px;
}
.idf .marke {display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:-.02em; font-size:1.06rem; color:var(--ink); text-decoration:none}
.idf .marke .zeichen {
  width:28px; height:28px; border-radius:7px; background:var(--accent); color:#fff;
  display:grid; place-items:center; flex:none;
}
.idf .marke .zeichen svg {width:18px; height:18px}
.idf .top nav {display:flex; gap:18px; font-size:.88rem}
.idf .top nav a {color:var(--muted); text-decoration:none}
.idf .top nav a:hover {color:var(--ink)}
.idf .hero {display:flex; flex-direction:column; gap:11px; margin-bottom:20px; position:relative}
.idf .hero h1 {color:var(--ink)}
.idf .hero .bild {
  position:absolute; right:-6px; top:-14px; width:132px; height:132px;
  opacity:.5; pointer-events:none;
}
@media (max-width:760px){
.idf .hero .bild {display:none} }
.idf .hero p.lede {font-size:1.14rem; color:var(--ink-2); max-width:56ch}
.idf .hero .quelle {font-size:.86rem; color:var(--muted)}
.idf .karte-lesen {margin-bottom:0}
.idf .ablage {
  display:block; border:2px dashed var(--line-2); border-radius:var(--radius);
  padding:18px 16px; text-align:center; cursor:pointer;
  transition:border-color .15s, background .15s;
}
.idf .ablage:hover,
.idf .ablage.aktiv {border-color:var(--accent); background:var(--accent-soft)}
.idf .ablage .gross {font-size:1.04rem; font-weight:600; display:block; margin-bottom:6px}
.idf .ablage .klein {font-size:.87rem; color:var(--muted); display:block; max-width:52ch; margin:0 auto; line-height:1.45}
.idf .ablage input[type=file] {position:absolute; width:1px; height:1px; opacity:0; pointer-events:none}
.idf #leseInfo:not(:empty) {margin-top:16px}
.idf .oder {
  text-align:center; font-size:.82rem; color:var(--muted);
  margin:13px 0; display:flex; align-items:center; gap:14px;
}
.idf .oder::before,
.idf .oder::after {content:""; flex:1; height:1px; background:var(--line)}
.idf .eingabezeile.unsicher {border-color:var(--warn); background:var(--warn-soft)}
.idf .karte {
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); padding:20px; box-shadow:var(--schatten);
}
.idf .kopfzeile {
  display:flex; flex-wrap:wrap; gap:11px 22px; align-items:center;
  padding-bottom:13px; border-bottom:1px solid var(--line); margin-bottom:13px;
}
.idf .schalter {display:flex; flex-wrap:wrap; gap:6px 18px; font-size:.87rem; color:var(--ink-2)}
.idf .schalter label {display:flex; align-items:center; gap:8px; cursor:pointer}
.idf .schalter input[type=checkbox] {width:17px; height:17px; accent-color:var(--accent); cursor:pointer; flex:none}
.idf .feld {display:flex; flex-direction:column; gap:5px; position:relative; min-width:0}
.idf .feld label {font-size:.76rem; font-weight:600; color:var(--muted); letter-spacing:.03em; text-transform:uppercase}
.idf .feld input,
.idf .feld select {
  font:inherit; font-size:.95rem; color:var(--ink); background:var(--ground);
  border:1px solid var(--line-2); border-radius:7px; padding:9px 11px; width:100%;
}
.idf .feld input:focus,
.idf .feld select:focus {border-color:var(--accent); outline:none; box-shadow:0 0 0 3px var(--accent-soft)}
.idf .feld-tier {max-width:190px}
.idf .schnellwahl-titel {font-size:.74rem; color:var(--muted); margin-bottom:6px; font-weight:600; letter-spacing:.03em; text-transform:uppercase}
.idf .schnellwahl {display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px}
.idf .chip {
  font:inherit; font-size:.86rem; color:var(--ink-2); background:var(--surface-2);
  border:1px solid var(--line-2); border-radius:999px; padding:6px 13px; cursor:pointer;
}
.idf .chip:hover {border-color:var(--accent); color:var(--accent); background:var(--accent-soft)}
.idf .zeilen {display:flex; flex-direction:column; gap:14px}
.idf .eingabezeile {border:1px solid var(--line); border-radius:var(--radius); padding:13px 14px; background:var(--ground)}
.idf .zeilenkopf {display:grid; grid-template-columns:minmax(0,1fr) 116px 78px auto; gap:11px; align-items:end}
.idf .weg {
  font:inherit; font-size:1.3rem; line-height:1; color:var(--muted); background:none;
  border:1px solid var(--line-2); border-radius:7px; width:38px; height:38px; cursor:pointer; flex:none;
}
.idf .weg:hover {color:var(--warn); border-color:var(--warn)}
.idf .vorschlaege {
  display:none; position:absolute; top:100%; left:0; right:0; z-index:20; margin-top:4px;
  background:var(--surface); border:1px solid var(--line-2); border-radius:8px;
  box-shadow:0 8px 24px rgba(0,0,0,.14); max-height:290px; overflow-y:auto;
}
.idf .vorschlaege.offen {display:block}
.idf .vorschlag {
  display:block; width:100%; text-align:left; font:inherit; background:none;
  border:none; border-bottom:1px solid var(--line); padding:9px 12px; cursor:pointer;
}
.idf .vorschlag:last-child {border-bottom:none}
.idf .vorschlag:hover,
.idf .vorschlag.aktiv {background:var(--accent-soft)}
.idf .v-text {display:block; font-size:.9rem; color:var(--ink); line-height:1.35}
.idf .v-satz {display:block; font-size:.78rem; color:var(--muted); font-family:var(--f-mono); margin-top:2px}
.idf .ampel {display:none; margin-top:10px; font-size:.87rem; padding:8px 11px; border-radius:7px; line-height:1.4}
.idf .ampel.gruen {display:block; background:var(--good-soft); color:var(--good); border:1px solid var(--good)}
.idf .ampel.rot {display:block; background:var(--warn-soft); color:var(--warn); border:1px solid var(--warn)}
.idf .knopfreihe {display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px}
.idf button.knopf {
  font:inherit; font-weight:600; color:#fff; background:var(--accent);
  border:none; border-radius:8px; padding:13px 26px; cursor:pointer;
}
.idf button.knopf:hover {background:var(--accent-dark)}
.idf button.knopf[disabled] {opacity:.45; cursor:not-allowed}
.idf button.knopf-leise {
  font:inherit; font-weight:600; color:var(--accent); background:none;
  border:1px solid var(--line-2); border-radius:8px; padding:12px 18px; cursor:pointer;
}
.idf button.knopf-leise:hover {border-color:var(--accent); background:var(--accent-soft)}
.idf .laeuft {display:flex; gap:13px; align-items:center; padding:20px 0; color:var(--ink-2)}
.idf .spinner {
  width:20px; height:20px; border:2.5px solid var(--line-2); border-top-color:var(--accent);
  border-radius:50%; animation:dreh .8s linear infinite; flex:none;
}
@keyframes dreh{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
.idf .spinner {animation:none} }
.idf .meldung {
  border-radius:var(--radius); padding:16px 18px; font-size:.95rem;
  background:var(--warn-soft); border:1px solid var(--warn); color:var(--ink);
}
.idf .ergebnis {margin-top:32px; display:none; flex-direction:column; gap:20px}
.idf .ergebnis.zeigen {display:flex}
.idf .fazit {
  border-radius:var(--radius); padding:20px 22px; border:1px solid var(--line-2);
  background:var(--surface); display:flex; flex-direction:column; gap:8px;
}
.idf .fazit.hat-funde {border-color:var(--warn); background:var(--warn-soft)}
.idf .fazit.sauber {border-color:var(--good); background:var(--good-soft)}
.idf .fazit .zahl {font-size:1.5rem; font-weight:700; letter-spacing:-.02em}
.idf .fazit .text {font-size:.96rem; color:var(--ink-2)}
.idf .tabelle {border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface); box-shadow:var(--schatten)}
.idf .zeile {
  display:grid; grid-template-columns:minmax(0,1.1fr) auto minmax(0,1.1fr);
  gap:10px 18px; padding:15px 18px; border-bottom:1px dashed var(--line);
}
.idf .zeile:last-child {border-bottom:none}
.idf .zeile.pruefen {background:var(--warn-soft)}
.idf .pos .bez {font-weight:600; font-size:.95rem}
.idf .pos .sub {display:block; color:var(--muted); font-size:.83rem; margin-top:3px; font-family:var(--f-mono)}
.idf .betrag {font-family:var(--f-mono); font-weight:700; font-size:.95rem; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums}
.idf .urteil .titel {display:block; font-weight:700; font-size:.83rem; margin-bottom:3px; letter-spacing:.01em}
.idf .urteil .text {font-size:.88rem; color:var(--ink-2); line-height:1.45}
.idf .urteil .paragraf {display:inline-block; margin-top:6px; font-family:var(--f-mono); font-size:.74rem; color:var(--muted)}
.idf .t-ok .titel {color:var(--good)}
.idf .t-pruefen .titel {color:var(--warn)}
.idf .t-info .titel,
.idf .t-unklar .titel {color:var(--muted)}
.idf .hinweis {
  border-left:3px solid var(--accent); background:var(--accent-soft);
  padding:15px 18px; border-radius:0 var(--radius) var(--radius) 0;
  
  margin-bottom:16px; font-size:.92rem; line-height:1.55;
}
.idf .hinweis b,
.idf .hinweis strong {display:block; margin-bottom:4px}
.idf .hinweis p {font-size:.92rem; color:var(--ink-2); margin:6px 0 0}
.idf .naechster-schritt {border:1px solid var(--line-2); border-radius:var(--radius); padding:20px 22px; background:var(--surface)}
.idf .naechster-schritt ol {margin:10px 0 0; padding-left:20px; font-size:.94rem; color:var(--ink-2)}
.idf .naechster-schritt li {margin-bottom:7px}
.idf section.block {margin-top:44px; display:flex; flex-direction:column; gap:14px}
.idf section.block p {max-width:64ch; color:var(--ink-2); font-size:.98rem}
.idf .regeln {display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden}
@media (min-width:560px){
.idf .regeln {grid-template-columns:1fr 1fr} }
.idf .regel {background:var(--surface); padding:17px 18px}
.idf .regel .p {font-family:var(--f-mono); font-size:.74rem; color:var(--accent); font-weight:600; letter-spacing:.04em}
.idf .regel h3 {margin:6px 0 5px}
.idf .regel p {font-size:.88rem; color:var(--ink-2); margin:0}
.idf details.faq {border-bottom:1px solid var(--line); padding:14px 0}
.idf details.faq summary {cursor:pointer; font-weight:600; font-size:.98rem; list-style:none; display:flex; justify-content:space-between; gap:14px; align-items:center}
.idf details.faq summary::-webkit-details-marker {display:none}
.idf details.faq summary::after {content:"+"; color:var(--muted); font-weight:400; font-size:1.25rem; line-height:1; flex:none}
.idf details.faq[open] summary::after {content:"–"}
.idf details.faq p {margin-top:10px; font-size:.93rem; color:var(--ink-2); max-width:64ch}
.idf .rechtshinweis {font-size:.82rem; color:var(--muted); max-width:64ch; line-height:1.5}

@media (max-width:640px){
.idf .zeile {grid-template-columns:minmax(0,1fr) auto}
.idf .urteil {grid-column:1 / -1; border-top:1px solid var(--line); padding-top:9px; margin-top:2px}
}
@media (max-width:480px){
.idf {font-size:16px}
.idf .karte {padding:17px}
.idf .ablage {padding:26px 14px}
}

@media (max-width:560px){
.idf .zeilenkopf {grid-template-columns:minmax(0,1fr) 78px; grid-template-areas:"l l" "b m"; row-gap:12px}
.idf .feld-leistung {grid-area:l}
.idf .feld-betrag {grid-area:b}
.idf .feld-menge {grid-area:m}
.idf .weg {position:absolute; top:11px; right:11px; width:30px; height:30px; font-size:1.05rem}
.idf .eingabezeile {position:relative; padding-top:13px}
.idf .feld-leistung label {padding-right:40px}
.idf .feld-tier {max-width:none; width:100%}
}
.idf .skala {
  grid-column:1 / -1; margin-top:14px; padding:13px 15px 11px;
  background:var(--surface-2); border-radius:10px;
}
.idf .skala-kopf {display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:9px}
.idf .skala-titel {font-size:.8rem; font-weight:700; color:var(--ink-2)}
.idf .skala-anzahl {font-family:var(--f-mono); font-size:.7rem; color:var(--muted)}
.idf .leiter {display:grid; grid-template-columns:repeat(6,1fr); gap:3px}
.idf .stufe {
  position:relative; border-radius:5px; padding:7px 3px 6px; text-align:center;
  min-height:38px; display:flex; flex-direction:column; justify-content:center; gap:2px;
  opacity:.34; transition:opacity .15s;
}
.idf .stufe-wort {font-size:.63rem; font-weight:700; line-height:1.15; color:#2A2318; letter-spacing:.01em}
.idf .stufe-wert {font-family:var(--f-mono); font-size:.78rem; font-weight:700; color:#2A2318}
.idf .s-a {background:#8FCB9B}
.idf .s-b {background:#C7DE8E}
.idf .s-c {background:#F2DE84}
.idf .s-d {background:#F3BC77}
.idf .s-e {background:#EC9370}
.idf .s-f {background:#DC6B5B}
.idf .stufe.andere {opacity:.72}
.idf .stufe.andere::after {
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:var(--ink-2); opacity:.45; border-radius:0 0 5px 5px;
}
.idf .stufe.meine {
  opacity:1; box-shadow:0 0 0 2.5px var(--ink); z-index:1;
  transform:scale(1.04);
}
.idf .skala-wort {margin-top:9px; font-size:.83rem; color:var(--ink-2); display:flex; flex-wrap:wrap; gap:4px 14px; align-items:center}
.idf .legende {display:inline-flex; align-items:center; gap:5px; font-size:.72rem; color:var(--muted)}
.idf .legende-kasten {
  display:inline-block; width:15px; height:8px; border-radius:2px;
  background:var(--line-2); border-bottom:3px solid var(--ink-2);
}

@media (max-width:520px){
.idf .leiter {grid-template-columns:repeat(3,1fr); gap:4px}
.idf .stufe {min-height:42px}
.idf .stufe-wort {font-size:.66rem}
}
.idf .eingabezeile {transition:border-color .15s, background .15s}
.idf .eingabezeile:focus-within {border-color:var(--accent); background:var(--surface)}
.idf .fazit {box-shadow:var(--schatten)}
.idf .regel {transition:background .15s}
.idf .regel:hover {background:var(--accent-soft)}
.idf .schalter label {min-height:40px; padding-block:4px}
.idf .schalter input[type=checkbox] {width:20px; height:20px}
.idf .top nav a {display:inline-flex; align-items:center; min-height:40px}
.idf .chip {min-height:38px; display:inline-flex; align-items:center}
@media (max-width:760px){
.idf .feld input,
.idf .feld select {min-height:44px}
.idf .weg {width:36px; height:36px}
}
.idf .zeile {
  grid-template-columns:76px minmax(0,1.05fr) auto minmax(0,1.05fr);
  align-items:start;
}
.idf .faktormarke {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:8px 4px 7px; min-height:56px;
  border:1px solid var(--line-2); border-radius:10px;
  background:var(--surface); text-align:center;
}
.idf .faktorzahl {
  font-family:var(--f-mono); font-weight:700;
  font-size:1.26rem; line-height:1; letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.idf .faktorzeichen {font-family:var(--f-mono); font-size:1.26rem; line-height:1; color:var(--muted)}
.idf .faktorwort {
  display:block; margin-top:4px;
  font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted);
}
.idf .faktormarke.s-ok {border-color:#B7D3C2; background:var(--good-soft)}
.idf .faktormarke.s-ok .faktorzahl {color:var(--good)}
.idf .faktormarke.s-pruefen {border-color:#E4BA84; background:#FDF3E4}
.idf .faktormarke.s-pruefen .faktorzahl {color:var(--crit)}
.idf .faktormarke.s-info,
.idf .faktormarke.s-unklar {background:var(--surface-2)}
.idf .urteil .paragraf {display:block; margin-top:8px}

@media (max-width:640px){
.idf .zeile {grid-template-columns:62px minmax(0,1fr) auto}
.idf .faktormarke {min-height:48px; padding:6px 3px}
.idf .faktorzahl,
.idf .faktorzeichen {font-size:1.1rem}
.idf .urteil {grid-column:1 / -1}
}
@media (max-width:480px){
.idf .zeile {grid-template-columns:56px minmax(0,1fr)}
.idf .betrag {grid-column:2; text-align:left; margin-top:2px}
}
.idf .krume {font-size:.84rem; color:var(--muted); margin:0 0 10px}
.idf .krume a {color:var(--muted)}
.idf .anriss {font-size:1.06rem; line-height:1.65; color:var(--ink-2); margin:0 0 22px}
.idf .got-erklaerung {
  background:var(--surface-2); border-radius:var(--radius); padding:16px 18px;
  font-size:.93rem; line-height:1.6; margin:20px 0;
}
.idf .got-erklaerung p {margin:0 0 10px}
.idf .got-erklaerung p:last-child {margin-bottom:0}
.idf .got-suche {margin:6px 0 16px}
.idf .got-suche label {
  display:block; font-size:.78rem; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--muted); margin-bottom:6px;
}
.idf .got-suche input {
  width:100%; padding:12px 14px; font:inherit; font-size:1rem;
  border:1.5px solid var(--line); border-radius:11px;
  background:var(--surface); color:var(--ink);
}
.idf .got-suche input:focus {outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(31,111,107,.14)}
.idf .got-treffer {margin:8px 0 0; font-size:.86rem; color:var(--muted)}
.idf .got-tabelle-huelle {
  overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface); box-shadow:var(--schatten);
}
.idf .got-tabelle {border-collapse:collapse; width:100%; font-size:.9rem}
.idf .got-tabelle th,
.idf .got-tabelle td {
  padding:9px 12px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top;
}
.idf .got-tabelle thead th {
  position:sticky; top:0; background:var(--surface-2); z-index:1;
  font-size:.74rem; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-2);
  border-bottom:2px solid var(--line);
}
.idf .got-tabelle tbody tr:last-child td {border-bottom:none}
.idf .got-tabelle tbody tr:hover {background:var(--surface-2)}
.idf .got-tabelle .sp-nr {width:62px; color:var(--muted); font-family:var(--f-mono); font-size:.84rem}
.idf .got-tabelle .sp-geld {
  text-align:right; white-space:nowrap;
  font-family:var(--f-mono); font-variant-numeric:tabular-nums;
}
.idf .got-tabelle .sp-brutto {color:var(--muted)}
.idf .quelle {font-size:.82rem; color:var(--muted); margin-top:12px; line-height:1.55}
.idf .pruefer-hinweis {
  border:1px solid var(--line); border-left:4px solid var(--accent);
  border-radius:var(--radius); padding:16px 18px; margin:26px 0;
  background:var(--surface); box-shadow:var(--schatten);
}
.idf .pruefer-hinweis p {margin:0 0 10px; line-height:1.6}
.idf .pruefer-hinweis p:last-child {margin-bottom:0}
.idf .pruefer-hinweis strong {color:var(--ink)}
.idf .fragen details {border-bottom:1px solid var(--line); padding:12px 0}
.idf .fragen summary {cursor:pointer; font-weight:600; line-height:1.5}
.idf .fragen summary:hover {color:var(--accent)}
.idf .fragen p {margin:10px 0 2px; line-height:1.6; color:var(--ink-2)}
.idf .themenliste {margin:12px 0 0; padding-left:20px; line-height:1.9}
.idf .fuss {
  margin:44px 0 24px; padding-top:18px; border-top:1px solid var(--line);
  font-size:.88rem; color:var(--muted); text-align:center;
}
.idf .fuss p {margin:0 0 6px}
.idf .fuss-klein {font-size:.8rem}

@media (max-width:640px){
.idf .got-tabelle {font-size:.84rem}
.idf .got-tabelle th,
.idf .got-tabelle td {padding:8px 9px}
.idf .got-tabelle .sp-brutto {display:none}
}
.idf .feld-endbetrag {margin-top:4px}
.idf .feld-zusatz {
  font-weight:400; font-size:.78rem; color:var(--muted);
  text-transform:none; letter-spacing:0; margin-left:6px;
}
.idf .feld-hinweis {margin:6px 0 0; font-size:.82rem; line-height:1.45; color:var(--ink-2)}
.idf .mwst-hilfe {margin-top:2px; font-size:.86rem}
.idf .mwst-hilfe summary {
  cursor:pointer; color:var(--accent); font-weight:600;
  padding:4px 0; list-style:none; width:max-content;
}
.idf .mwst-hilfe summary::-webkit-details-marker {display:none}
.idf .mwst-hilfe summary::before {content:"? "; font-weight:700}
.idf .mwst-hilfe summary:hover {text-decoration:underline}
.idf .mwst-hilfe p {
  margin:8px 0 0; line-height:1.55; color:var(--ink-2);
  border-left:3px solid var(--line); padding-left:12px;
}
.idf .nachsorge {margin:26px auto 0; max-width:760px; padding:0 16px}
.idf .hinweis-warnung {border-left-color:#E2C044; background:#FDF8E7}
.idf .hinweis-ok {border-left-color:#BBD9C4; background:#F2F8F4; color:var(--ink-2)}
.idf .werkzeuge {display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.idf .werkzeuge .knopf-leise {flex:1 1 auto; min-width:220px; text-align:center}
.idf .anschluss:not([hidden]) {margin-top:18px}

@media print{
.idf .top,
.idf .ablage,
.idf .schnellwahl,
.idf .schnellwahl-titel,
.idf .knopfreihe,
.idf .werkzeuge,
.idf .zeilen,
.idf #zustand,
.idf .mwst-hilfe,
.idf nav,
.idf .fuss,
.idf .anschluss,
.idf .hinweis-ok,
.idf .got-suche,
.idf .pruefer-hinweis {display:none !important}
.idf {background:#fff; color:#000; font-size:11pt}
.idf .ergebnis {box-shadow:none; max-width:none; padding:0}
.idf .ergebnis,
.idf .nachsorge {page-break-inside:avoid}
.idf .karte,
.idf .zeile,
.idf .block {border:1px solid #ccc !important; box-shadow:none !important; page-break-inside:avoid}
.idf .rechtshinweis {font-size:9pt; color:#333}
}


@font-face{
  font-family:'Source Serif';
  src:url('schrift/sourceserif.woff2') format('woff2');
  font-weight:400 600; font-style:normal; font-display:swap;
}
.idf { --f-lese:'Source Serif', Georgia, 'Times New Roman', serif; }
.idf .anriss,
.idf .prose p,
.idf .block > p,
.idf article > p,
.idf .karte p,
.idf .box p,
.idf .got-erklaerung p,
.idf .fragen p,
.idf .mwst-hilfe p,
.idf .hinweis p,
.idf .pruefer-hinweis p,
.idf .urteil .text,
.idf .feld-hinweis,
.idf .rechtshinweis,
.idf .fazit .text,
.idf .quelle {
  font-family:var(--f-lese);
  line-height:1.66;
}
.idf .anriss {font-size:1.1rem}
.idf .urteil .text {font-size:.92rem; line-height:1.58}
.idf .karte p,
.idf .box p {font-size:.97rem}
.idf .pos .bez,
.idf .betrag,
.idf .sub,
.idf .faktorzahl,
.idf .faktorwort,
.idf .got-tabelle,
.idf .schnellwahl,
.idf .knopf,
.idf .knopf-leise,
.idf input,
.idf select,
.idf textarea,
.idf button,
.idf .urteil .titel,
.idf .urteil .paragraf,
.idf .krume {
  font-family:var(--f-ui);
}
.idf .betrag,
.idf .sub,
.idf .faktorzahl,
.idf .got-tabelle .sp-geld,
.idf .got-tabelle .sp-nr,
.idf .urteil .paragraf {
  font-family:var(--f-mono);
}
.idf .handeingabe {margin-top:18px}
.idf .handeingabe-titel {
  cursor:pointer; list-style:none; display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px;
  padding:13px 16px; border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface);
}
.idf .handeingabe-titel::-webkit-details-marker {display:none}
.idf .handeingabe-titel::before {
  content:"+"; font-family:var(--f-mono); font-weight:700; color:var(--accent);
  margin-right:4px;
}
.idf .handeingabe[open] .handeingabe-titel::before {content:"–"}
.idf .handeingabe-titel:hover {border-color:var(--line-2)}
.idf .he-text {font-weight:600}
.idf .he-zusatz {font-size:.86rem; color:var(--muted)}
.idf .handeingabe[open] .handeingabe-titel {
  border-bottom-left-radius:0; border-bottom-right-radius:0; border-bottom:none;
}
.idf .handeingabe[open] .karte-hand {
  border-top-left-radius:0; border-top-right-radius:0; margin-top:0;
}
.idf .uebersicht {
  margin-top:18px; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--schatten); overflow:hidden;
}
.idf .ue-kopf {
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 14px;
  padding:14px 18px; background:var(--surface-2); border-bottom:1px solid var(--line);
}
.idf .ue-zahl {font-weight:700}
.idf .ue-summe {font-family:var(--f-mono); font-size:.92rem; color:var(--ink-2); font-variant-numeric:tabular-nums}
.idf .ue-liste {list-style:none; margin:0; padding:4px 0}
.idf .ue-liste li {
  display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  padding:7px 18px; font-size:.93rem;
}
.idf .ue-liste li + li {border-top:1px solid var(--line)}
.idf .ue-bez {min-width:0; overflow-wrap:anywhere}
.idf .ue-menge {color:var(--muted); font-family:var(--f-mono); font-size:.85rem}
.idf .ue-betrag {
  font-family:var(--f-mono); font-variant-numeric:tabular-nums; white-space:nowrap;
  color:var(--ink-2);
}
.idf .ue-fuss {margin:0; padding:10px 18px 14px; border-top:1px solid var(--line)}
.idf .ue-aendern {
  background:none; border:none; padding:0; cursor:pointer;
  font:inherit; font-size:.88rem; color:var(--accent); text-decoration:underline;
}
.idf .ue-aendern:hover {color:var(--accent-dark)}
.idf .auswerten {margin:22px 0 0; text-align:center}
.idf .knopf-gross {
  font-size:1.06rem; padding:15px 34px; width:100%; max-width:420px;
}
.idf .auswerten-hinweis {
  margin:10px 0 0; font-size:.88rem; color:var(--muted);
  font-family:var(--f-lese);
}

@media (max-width:480px){
.idf .ue-liste li {flex-direction:column; gap:2px}
.idf .ue-betrag {align-self:flex-start}
}
.idf .ratgeber>p,
.idf .ratgeber>ul,
.idf .ratgeber>ol,
.idf .ratgeber>div,
.idf .ratgeber>form {margin-block:18px}
.idf .ratgeber>h2 {margin-top:32px}
.idf .entscheidung-grid,
.idf .planer-felder {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:20px}
.idf .weg-karte,
.idf .planer,
.idf .partner-angebot {padding:24px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface)}
.idf .weg-karte {display:block;text-decoration:none;color:var(--ink)}
.idf .weg-karte p {margin:12px 0}
.idf .weg-karte span {color:var(--accent);font-weight:650}
.idf .weg-karte:hover {border-color:var(--accent)}
.idf .planer label {display:block;font-weight:600}
.idf .planer input {display:block;width:100%;margin:8px 0;padding:12px;border:1px solid var(--line-2);border-radius:8px;font:inherit;background:white;color:var(--ink)}
.idf .planer small {display:block;font-weight:400;color:var(--muted)}
.idf .partner-angebot p {margin-block:14px}
.idf .budget-zahl {font-size:2rem;font-weight:750;color:var(--accent)}
.idf .partner-symbol {width:76px;height:76px;float:right;margin:0 0 12px 16px}
.idf a.knopf {display:inline-flex;justify-content:center;align-items:center;padding:12px 20px;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-family:var(--f-ui);font-weight:650;line-height:1.4;min-height:46px}
.idf a.knopf:hover {background:var(--accent-dark)}
.idf .pruefer-hinweis p {margin-block:12px}
.idf .pruefer-hinweis h2 {font-size:1.25rem}
@media(max-width:600px){
.idf .entscheidung-grid,
.idf .planer-felder {grid-template-columns:1fr}
.idf .planer,
.idf .weg-karte {padding:18px}
.idf .top nav {flex-wrap:wrap}
.idf .knopf {max-width:100%;white-space:normal;text-align:center}}
@media print{
.idf .planer button,
.idf .partner-angebot {display:none}
.idf .entscheidung-grid {display:block}}
@media print{
.idf #budgetErgebnis:not([hidden]) {display:block !important}
.idf #budgetErgebnis button {display:none}}
.idf .werbeplatz {margin:16px 0; text-align:center}
.idf .kostenbilder {margin:26px 0}
.idf .kostenbilder h2 {margin-bottom:10px}
.idf .kostenbilder > p {margin-block:12px}
.idf .kostenbilder .werbeplatz {margin:18px 0 0}
.idf .kostenbilder .werbeplatz a {border:1px solid var(--line); border-radius:var(--radius)}
.idf .kostenbilder .werbeplatz img {width:100%; height:auto}
.idf .kostenliste {margin-top:22px}
.idf .kostenzeile {
  display:flex; justify-content:space-between; align-items:baseline; gap:12px;
  padding:7px 0; border-bottom:1px dashed var(--line); font-size:.92rem;
}
.idf .kostenzeile:last-child {border-bottom:0}
.idf .kostenzeile b {font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--ink)}
.idf .werbeplatz a {display:inline-block; line-height:0; border-radius:8px; overflow:hidden}
.idf .werbeplatz img {max-width:100%; height:auto; display:block}
.idf .partner-spalten {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px; margin:18px 0;
}
.idf .partner-spalte h3 {
  font-size:.78rem; font-weight:700; color:var(--muted);
  letter-spacing:.05em; text-transform:uppercase; margin:0 0 8px;
}
.idf .partner-spalte .knopf {width:100%; max-width:none}
.idf .partner-spalte p {margin:10px 0 0}
.idf .einwilligung {
  position:fixed; z-index:50;
  left:16px; right:16px; bottom:16px; margin:0 auto; max-width:560px;
  background:var(--surface); border:1px solid var(--line-2);
  border-radius:var(--radius); box-shadow:0 4px 12px rgba(31,36,41,.10), 0 18px 46px rgba(31,36,41,.14);
  padding:18px 20px;
  display:flex; flex-direction:column; gap:14px;
}
.idf .einwilligung-text strong {display:block; margin-bottom:6px; font-size:1rem}
.idf .einwilligung-text p {
  margin:0; font-size:.88rem; line-height:1.55; color:var(--ink-2);
  font-family:var(--f-lese);
}
.idf .einwilligung-mehr {display:inline-block; margin-top:8px; font-size:.85rem}
.idf .einwilligung-knoepfe {display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end}
.idf .einwilligung-knoepfe .knopf,
.idf .einwilligung-knoepfe .knopf-leise {flex:1 1 auto; min-width:150px; text-align:center}

@media (max-width:480px){
.idf .einwilligung {left:10px; right:10px; bottom:10px; padding:16px}
}
@media print{
.idf .einwilligung,
.idf .werbeplatz {display:none !important}
}
.idf .kostenlos {font-size:.84rem; color:var(--muted); margin:10px 0 0; letter-spacing:.01em}
.idf .feld-hinweis.gefunden {color:var(--accent); font-weight:600}
.idf .faktormarke.s-pruefen {border-color:#E2C044; background:#FDF8E7}
.idf .faktormarke.s-pruefen .faktorzahl {color:var(--warn)}
.idf .fazit .paragraf {
  display:inline-block; margin-top:8px;
  font-family:var(--f-mono); font-size:.74rem; color:var(--muted);
}

/* Rueckstellungen gegen tools-Regeln (automatisch) */
.idf .hero{padding:revert;text-align:revert}
.idf .krume{max-width:revert;padding:revert}
.idf button{cursor:revert;font-size:revert;font-weight:revert;padding:revert;transition:revert}
.idf h1{max-width:revert}
.idf select{cursor:revert}
.idf textarea{background:revert;border:revert;border-radius:revert;caret-color:revert;color:revert;font-size:revert;line-height:revert;min-height:revert;padding:revert;resize:revert;width:revert}

.idf{display:block;margin:4px 0 32px;padding:22px clamp(16px,4vw,36px) 36px;border-radius:18px;
  background-color:var(--ground);background-image:url("pfoten.svg");background-position:top center;
  background-size:1200px auto;background-repeat:repeat-y}
.idf a.knopf,.idf button.knopf{color:#fff}
.idf .idf-unternav{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem;margin:0 0 22px;
  padding:0 0 12px;border-bottom:1px solid var(--line)}
.idf .idf-unternav a{text-decoration:none}
.idf .idf-unternav a[aria-current="page"]{font-weight:700;text-decoration:underline}
.idf .idf-mehr{margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}
.idf .idf-mehr ul{columns:2 240px;padding-left:18px;margin:12px 0}
.idf .idf-mehr li{margin:0 0 6px;break-inside:avoid}
