/* Paket 3 (EF-03 bis EF-06): Stile mit Vorsilbe efa- */
.ix .efa-leg, .efa-leg { list-style: none; margin: 0; padding: 0; display: flex !important; flex-direction: row; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; color: var(--muted) }
.efa-leg li { display: inline-flex; align-items: center; gap: 6px }
.efa-leg i { display: inline-block; width: 22px; height: 8px; border-radius: 4px }
.efa-lg-q { background: var(--track) }
.efa-lg-ok { background: #0B7A3E }
.efa-lg-no { background: repeating-linear-gradient(90deg, #B3261E 0 5px, transparent 5px 8px) }
.efa-lg-b { background: var(--muted) }
.efa-lg-g { background: var(--c) }
.efa-lg-now { width: 3px !important; height: 16px !important; border-radius: 0 !important; background: var(--ink) }

/* EF-06 Weg */
.efa-weggrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 14px; align-items: start }
@media (max-width: 760px) { .efa-weggrid { grid-template-columns: 1fr } }
.efa-route { list-style: none; margin: 0; padding: 0; display: grid; gap: 0 }
.efa-seg { position: relative; padding-left: 22px }
.efa-seg::before { content: ''; position: absolute; left: 7px; top: 0; bottom: 0; width: 6px; border-radius: 3px; background: var(--track); transition: background .25s }
.efa-seg.efa-ok::before { background: #0B7A3E }
.efa-seg.efa-no::before { background: repeating-linear-gradient(180deg, #B3261E 0 7px, transparent 7px 11px) }
.efa-seg button { width: 100%; display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 2px 8px; align-items: center; text-align: left; border: 2px solid transparent; background: none; border-radius: 8px; padding: 8px 10px; min-height: 48px }
.efa-seg button[aria-pressed="true"] { border-color: var(--ink); background: var(--panel) }
.efa-z { font: 700 13px var(--mono); color: var(--muted) }
.efa-st { display: none }
.efa-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0) }
.efa-verdict { display: flex; align-items: center; gap: 8px }
.efa-verdict.efa-ok b { color: #0B7A3E } .efa-verdict.efa-no b { color: #B3261E }
.efa-dot { width: 14px; height: 14px; border-radius: 50%; flex: none }
.efa-verdict.efa-ok .efa-dot { background: #0B7A3E } .efa-verdict.efa-no .efa-dot { background: #B3261E }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .efa-verdict.efa-ok b { color: #5BD18B } :root:not([data-theme="light"]) .efa-verdict.efa-no b { color: #FF8A80 } }
:root[data-theme="dark"] .efa-verdict.efa-ok b { color: #5BD18B } :root[data-theme="dark"] .efa-verdict.efa-no b { color: #FF8A80 }

/* EF-06 Berufskrankheit, Haftung */
.efa-bkgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px }
.efa-bild { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 17px }
.efa-bild b { border: 2px solid var(--ink); border-radius: 8px; padding: 4px 10px; background: var(--bg) }
.efa-pfeil { color: var(--muted); font-weight: 700 }
.efa-rows { margin: 0; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr); gap: 0 }
.efa-rows dt, .efa-rows dd { margin: 0; padding: 8px 0; border-top: 1px solid var(--line) }
.efa-rows dt { font-weight: 800; padding-right: 12px }
@media (max-width: 560px) { .efa-rows { grid-template-columns: 1fr } .efa-rows dd { border-top: 0; padding-top: 0 } }

/* EF-06 Zeitstrahl */
.efa-tl { --ll: 64px; display: grid; gap: 6px }
.efa-axrow, .efa-lane { display: grid; grid-template-columns: var(--ll) minmax(0, 1fr); align-items: center }
.efa-ll { font-size: 13px; font-weight: 800; color: var(--muted) }
.efa-tl-axis { position: relative; height: 18px; border-bottom: 1px solid var(--line) }
.efa-tl-axis span { position: absolute; transform: translateX(-50%); font: 700 12px var(--mono); color: var(--muted) }
.efa-lanes { position: relative; display: grid; gap: 6px }
.efa-track { position: relative; height: 34px; background: var(--panel); border-radius: 6px }
.efa-bar { position: absolute; top: 3px; bottom: 3px; border-radius: 4px; display: flex; align-items: center; overflow: hidden; padding: 0 6px; font-size: 13px; font-weight: 700; white-space: nowrap; color: #fff }
.efa-bar span { overflow: hidden; text-overflow: ellipsis }
.efa-ks { display: none }
@media (max-width: 560px) { .efa-lo { display: none } .efa-ks { display: inline } }
.efa-bar-b { background: var(--muted) } .efa-bar-g { background: var(--c) }
.efa-bar + .efa-bar { border-left: 2px solid var(--bg) }
.efa-ov { position: absolute; top: -4px; bottom: -4px; left: var(--ll); right: 0; pointer-events: none }
.efa-now { position: absolute; top: 0; bottom: 0; width: 3px; margin-left: -1px; background: var(--ink); transition: left .35s ease }
@media (prefers-reduced-motion: reduce) { .efa-now, .efa-seg::before, .efa-meter span { transition: none } }
@media (max-width: 560px) { .efa-tl { --ll: 46px } .efa-bar { font-size: 11px; padding: 0 3px } .efa-tl-axis span { font-size: 10px } }

/* EF-06 Rente */
.efa-meter { height: 14px; background: var(--bg); border-radius: 7px; overflow: hidden; border: 1px solid var(--line) }
.efa-meter span { display: block; height: 100%; background: var(--c); transition: width .35s ease }

/* EF-03 Zeitstrahl */
.efa-ztwrap { padding: 4px 16px 30px }
.efa-zt { position: relative; height: 46px; border-bottom: 3px solid var(--ink); margin-bottom: 4px }
.efa-zj { position: absolute; bottom: -24px; width: 1px; height: 30px; background: var(--line) }
.efa-zj span { position: absolute; top: 30px; left: 0; transform: translateX(-50%); font: 700 12px var(--mono); color: var(--muted); white-space: nowrap }
.efa-zm { position: absolute; bottom: -9px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--bg); border: 3px solid var(--ink); transition: background .2s, transform .2s }
.efa-zm.on { background: var(--c); border-color: var(--c); transform: scale(1.25) }

/* EF-03 100 Euro */
.efa-hrow { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 4px 10px; align-items: center }
.efa-hl { display: grid } .efa-hl small { color: var(--muted); font-size: 14px }
.efa-htrack { display: flex; height: 26px; background: var(--bg); border-radius: 6px; overflow: hidden }
.efa-h { display: block; height: 100%; transition: width .3s ease }
.efa-h + .efa-h { border-left: 2px solid var(--bg) }
.efa-h-kv { background: #1F6FD1 } .efa-h-pv { background: #8E44AD } .efa-h-rv { background: #C0392B } .efa-h-av { background: #D68910 }
.efa-leg i.efa-h-kv, .efa-leg i.efa-h-pv, .efa-leg i.efa-h-rv, .efa-leg i.efa-h-av { height: 10px }
.efa-uv { grid-column: 2; font-size: 13px; color: var(--muted) }
@media (max-width: 560px) { .efa-hrow { grid-template-columns: 1fr } .efa-uv { grid-column: 1 } }
/* EF-03 Prinzipien, Wege */
.efa-pgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px }
@media (max-width: 520px) { .efa-pgrid { grid-template-columns: 1fr } }
.efa-pl { font-weight: 700; font-size: 15px }
.efa-m-in span { background: var(--muted) }
.efa-weg { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; align-items: start }
.efa-tag { display: inline-block; text-align: center; font: 800 12px var(--mono); text-transform: uppercase; letter-spacing: .04em; border-radius: 6px; padding: 6px 4px; color: #fff }
.efa-t-v { background: #1F6FD1 } .efa-t-o { background: #0B7A3E } .efa-t-f { background: #B3261E } .efa-t-x { background: var(--muted) }
@media (prefers-reduced-motion: reduce) { .efa-zm, .efa-h { transition: none } }

/* EF-04 Fonds */
.efa-fgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start }
@media (max-width: 760px) { .efa-fgrid { grid-template-columns: 1fr } }
.efa-flow { display: grid; gap: 2px }
.efa-fn { display: grid; transition: opacity .25s }
.efa-fn2 { grid-template-columns: 1fr 1fr; gap: 8px }
.efa-node { border: 3px solid var(--ink); border-radius: 10px; padding: 8px 10px; background: var(--bg); display: grid }
.efa-node span { font-size: 14px; color: var(--muted) }
.efa-fn.dim, .efa-fa.dim { opacity: .38 }
.efa-fn.dim .efa-node { border-width: 1px; border-color: var(--track); margin: 2px }
.efa-fa { margin: 0; padding: 2px 0 2px 18px; font-size: 14px; font-weight: 700; color: var(--muted); transition: opacity .25s }
/* EF-04 Krankengeld */
.efa-kgrow { display: grid; grid-template-columns: 130px minmax(0, 1fr) 104px; gap: 8px; align-items: center; font-size: 15px }
.efa-kgrow > b { text-align: right; font-size: 15px; white-space: nowrap }
.efa-kgtrack { height: 16px; background: var(--bg); border-radius: 4px; overflow: hidden }
.efa-kgtrack span { display: block; height: 100% }
.efa-kgb { background: var(--track) } .efa-kgn { background: var(--muted) } .efa-kgx { background: var(--track) }
.efa-kgrow.hit .efa-kgx { background: var(--c) } .efa-kgrow.hit { font-weight: 800 }
@media (max-width: 520px) { .efa-kgrow { grid-template-columns: 1fr auto; gap: 2px 8px } .efa-kgtrack { grid-column: 1 / -1; grid-row: 2 } }
/* EF-04 Grenzen */
.efa-gs { display: grid; gap: 4px }
.efa-gsl { font-weight: 800 }
.efa-gtrack { position: relative; height: 22px; background: var(--bg); border-radius: 6px; margin-bottom: 20px }
.efa-gfill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: var(--c) }
.efa-gfill.over { background: linear-gradient(90deg, var(--c) 0 var(--cut, 100%), #D68910 var(--cut, 100%)) }
.efa-gline { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-left: -1px; background: var(--ink) }
.efa-gtag { position: absolute; top: 26px; transform: translateX(-50%); font: 700 12px var(--mono); white-space: nowrap; color: var(--ink) }
.efa-lg-over { background: #D68910 }
/* EF-04 Familie */
.efa-fam { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px }
.efa-fam .efa-tag { justify-self: start; text-transform: none; letter-spacing: 0; font-size: 12px }
@media (max-width: 760px) { .efa-fam { grid-template-columns: repeat(2, minmax(0, 1fr)) } }
@media (prefers-reduced-motion: reduce) { .efa-fn, .efa-fa { transition: none } }
/* EF-05 Gutachten */
.efa-mods { display: grid; gap: 10px }
.efa-mod { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--track) }
.efa-modh { display: grid; gap: 1px }
.efa-modh .sub { margin: 0; font-size: 14px }
.efa-modv { font: 700 13px var(--mono); color: var(--ink); white-space: nowrap }
.efa-modseg button { min-width: 44px; min-height: 44px }
.efa-mod > .fest { grid-column: 1 / -1 }
.efa-modx { margin: 0; font-size: 15px }
.efa-modst { font-weight: 800 }
.efa-modw { font-weight: 400; color: var(--muted); font-size: 14px }
@media (max-width: 520px) { .efa-mod { grid-template-columns: 1fr } }
.efa-stl { margin-top: 4px; font-size: 14px }
.efa-pgrow { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 8px }
.efa-pgl { font-weight: 800 }
.efa-pgsum { font: 800 20px var(--mono) }
.efa-pgbar { position: relative; height: 28px; background: var(--bg); border-radius: 6px; overflow: visible; margin-top: 4px }
.efa-pgz { position: absolute; top: 0; bottom: 0; border-right: 2px solid var(--panel, #fff); display: flex; align-items: center; justify-content: center; font: 800 12px var(--mono); color: #fff }
.efa-pgz0 { background: var(--track); border-radius: 6px 0 0 6px }
.efa-pgz1 { background: #C9B3D9 } .efa-pgz2 { background: #A982C4 } .efa-pgz3 { background: #8E44AD } .efa-pgz4 { background: #6C3483 } .efa-pgz5 { background: #4A235A; border-right: 0; border-radius: 0 6px 6px 0 }
.efa-pgz1 span, .efa-pgz2 span { color: #2b1a36 }
.efa-pgm { position: absolute; top: -5px; bottom: -5px; width: 4px; margin-left: -2px; background: var(--ink); border-radius: 2px; transition: left .3s ease }
.ix .efa-pgax, .efa-pgax { max-width: none; display: flex; justify-content: space-between; margin-top: 2px; font-size: 13px }
.efa-btn { font: inherit; font-weight: 700; padding: 8px 14px; border-radius: 8px; border: 2px solid var(--ink); background: var(--bg); color: var(--ink); cursor: pointer }
/* EF-05 Leistungen */
.efa-lbar { display: flex; height: 22px; background: var(--bg); border-radius: 6px; overflow: hidden }
.efa-lbar span { display: block; height: 100%; transition: width .3s ease }
.efa-lg, .efa-ld, .efa-lk, .efa-lg-k { background: #8E44AD } .efa-le, .efa-lg-e { background: #D68910 }
/* EF-05 Auszeit */
.efa-dl { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 6px 12px; margin: 8px 0 }
.efa-dl dt { font-weight: 800 } .efa-dl dd { margin: 0 }
@media (max-width: 520px) { .efa-dl { grid-template-columns: 1fr; gap: 0 } .efa-dl dd { margin-bottom: 6px } }
.efa-ben .efa-tag { text-transform: none; letter-spacing: 0; padding: 3px 8px; margin-right: 4px }
/* EF-05 Waffel */
.efa-waffle { display: grid; grid-template-columns: repeat(20, minmax(0, 1fr)); gap: 3px; max-width: 520px; margin: 12px 0 }
.efa-wc { aspect-ratio: 1; border-radius: 3px; transition: opacity .25s }
.efa-w0 { background: #8E44AD } .efa-w1 { background: #1F6FD1 } .efa-w2 { background: #A9A2B8 } .efa-w3 { background: #D68910 }
.efa-leg i.efa-w0, .efa-leg i.efa-w1, .efa-leg i.efa-w2, .efa-leg i.efa-w3 { width: 12px; height: 12px; border-radius: 3px }
.efa-waffle[data-hi="0"] .efa-wc:not(.efa-w0), .efa-waffle[data-hi="1"] .efa-wc:not(.efa-w1), .efa-waffle[data-hi="2"] .efa-wc:not(.efa-w2), .efa-waffle[data-hi="3"] .efa-wc:not(.efa-w3) { opacity: .22 }
@media (prefers-reduced-motion: reduce) { .efa-pgm, .efa-lbar span, .efa-wc { transition: none } }

/* K4 (Umsetzung 03.11.): Formstabile Platzhalter, Kontrast im dunklen Design */
.efa-bkleer { min-height: 1px }
.efa-tagslot { display: flex; align-items: flex-start }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .efa-t-x, :root:not([data-theme="light"]) .efa-bar-b { color: #121417 } }
:root[data-theme="dark"] .efa-t-x, :root[data-theme="dark"] .efa-bar-b { color: #121417 }

/* EF-05 Gutachten: Ergebnis haftet am unteren Rand, solange die Bereiche im Bild sind */
.efa-pgstick { position: sticky; bottom: 0; z-index: 3; margin-top: 10px; padding: 8px 12px 6px; background: var(--bg); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 -4px 14px rgba(0,0,0,.08) }
.efa-pgstick .efa-pgrow { margin-top: 0 }
.efa-pgname { font-size: 17px }
.efa-pgrech { margin: 2px 0 0; font: 600 13px var(--mono); color: var(--muted) }

/* EF-06 Rente: Rechenweg */
.efa-rech { margin: 8px 0 0; padding-left: 22px; display: grid; gap: 2px; font-size: 15px }

/* EF-03 Beitragsbalken: Skala bis 100 Euro, Beträge als Tabelle */
.efa-hscale { margin-bottom: -4px }
.efa-hax { position: relative; height: 18px; border-bottom: 1px solid var(--line) }
.efa-hax span { position: absolute; bottom: 2px; transform: translateX(-50%); font: 700 12px var(--mono); color: var(--muted); white-space: nowrap }
.efa-hax span:first-child { transform: none } .efa-hax span:last-child { transform: translateX(-100%) }
.efa-htab { border-collapse: collapse; font-size: 15px; margin-top: 4px; width: auto }
.efa-htab th, .efa-htab td { padding: 4px 14px 4px 0; text-align: left; border-bottom: 1px solid var(--line) }
.efa-htab td { font-family: var(--mono); text-align: right }
.efa-htab thead th { font-size: 13px; color: var(--muted); text-align: right } .efa-htab thead th:first-child { text-align: left }
.efa-htab tbody th { font-weight: 600; display: flex; align-items: center; gap: 8px }
.efa-htab i { display: inline-block; width: 14px; height: 14px; border-radius: 3px; flex: none }
.efa-hdiff { font-weight: 800 }
@media (max-width: 560px) { .efa-hscale > span:first-child { display: none } }

/* EF-06 Sicherheitszeichen */
.efa-zrow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 6px 0 10px }
.efa-zbtn { display: grid; justify-items: center; gap: 6px; padding: 10px 4px 8px; border: 2px solid var(--line); border-radius: 10px; background: var(--bg); color: var(--ink); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; min-height: 44px; transition: border-color .2s, transform .2s }
.efa-zbtn[aria-checked="true"] { border-color: var(--ink); background: var(--panel); transform: translateY(-2px) }
.efa-zbtn:focus-visible { outline: 3px solid var(--c); outline-offset: 2px }
.efa-zsvg { display: block; width: min(72px, 100%); aspect-ratio: 1 }
@media (max-width: 520px) { .efa-zrow { gap: 4px } .efa-zbtn { font-size: 11px; padding: 6px 2px } }

/* Schrittfolge (EF-06 Feuerlöscher, EF-04 Weg zum Gericht) */
.efa-flgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 14px; align-items: start }
@media (max-width: 760px) { .efa-flgrid { grid-template-columns: 1fr } }
.efa-flsteps { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: none }
.efa-flsteps button { width: 100%; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: center; text-align: left; font: inherit; font-weight: 700; color: var(--ink); background: none; border: 2px solid transparent; border-radius: 8px; padding: 6px 10px; min-height: 48px; cursor: pointer }
.efa-flsteps button[aria-pressed="true"] { border-color: var(--ink); background: var(--panel) }
.efa-flsteps button:focus-visible { outline: 3px solid var(--c); outline-offset: 2px }
.efa-fln { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font: 800 14px var(--mono); border: 3px solid var(--track); background: var(--bg); transition: background .2s, border-color .2s }
.efa-flsteps li.past .efa-fln { border-color: var(--c) }
.efa-flsteps button[aria-pressed="true"] .efa-fln { background: var(--c); border-color: var(--c); color: #fff }
.efa-flside { display: grid; gap: 10px; align-content: start }
.efa-flfig { width: 150px; height: 180px; justify-self: center }
.efa-flp { transition: opacity .25s }
.efa-flfig:has(.efa-flp.hi) .efa-flp:not(.hi) { opacity: .3 }
.efa-flp.hi { filter: drop-shadow(0 0 3px #F9C80E) drop-shadow(0 0 2px #F9C80E) }
@media (max-width: 760px) { .efa-flfig { width: 110px; height: 132px } }
@media (max-width: 560px) { .efa-pgstick .efa-pgrow { display: grid; gap: 0 } }

/* B2 Prüfstand: gemeinsame Teile */
.efa-azubi { border-left: 4px solid var(--c) }
.efa-azubi > b { display: block; margin-bottom: 4px }
.efa-roff { color: var(--muted) }

/* EF-04 Stufen zum Antippen unter K.regler */
.efa-rtips { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 6px }
.efa-rtip { min-height: 44px; border: 2px solid var(--line); background: var(--bg); color: var(--ink); border-radius: 8px; font: 600 14px/1.2 var(--sans); padding: 6px 4px; cursor: pointer }
.efa-rtip[aria-pressed="true"] { border-color: var(--ink); background: var(--panel) }

/* EF-05 Heimrechnung */
.efa-rbar { display: flex; height: 36px; border-radius: 8px; overflow: hidden; gap: 2px; margin: 4px 0 10px }
.efa-rbar span { display: flex; align-items: center; justify-content: center; min-width: 0; transition: background .25s }
.efa-rbar i { font: 700 12px var(--mono); font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: clip; padding: 0 4px }
.efa-rz0 { background: #F2C14E; color: #121417 }
.efa-rz1 { background: #2E6FD8; color: #FFFFFF }
.efa-rz2 { background: #6B7280; color: #FFFFFF }
.efa-rrows { display: grid; gap: 8px }
.efa-rrow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 6px 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--line) }
.efa-rhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px }
.efa-rhead .sub { flex: 1 0 100%; margin: 0; font-size: 14px }
.efa-rbet { font: 700 15px var(--mono) }
.efa-rseg { width: 100% }
.efa-rseg button { min-height: 44px; flex: 1 1 0 }
.efa-rfixt { margin: 0; font-weight: 600; color: var(--muted) }
.efa-rheute { justify-self: start; min-height: 44px; margin-top: 4px }
.efa-rsums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0 }
.efa-rsumc { border-top: 6px solid; padding-top: 4px; display: grid; background: none !important; color: var(--ink) !important }
.efa-rsumc.efa-rz0 { border-color: #F2C14E } .efa-rsumc.efa-rz1 { border-color: #2E6FD8 } .efa-rsumc.efa-rz2 { border-color: #6B7280 }
.efa-rsumc span { font-size: 14px; color: var(--muted) }
.efa-rsum { font: 800 20px var(--mono) }
@media (max-width: 760px) { .efa-rrow { grid-template-columns: 1fr } }
@media (max-width: 560px) { .efa-rbar i { display: none } .efa-rsum { font-size: 16px } }

/* EF-06 Hitze */
.efa-hzgrid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; align-items: start }
@media (max-width: 760px) { .efa-hzgrid { grid-template-columns: 1fr } }
.efa-hzleft { display: grid; gap: 8px }
.efa-hzseg button { min-height: 44px }
.efa-hzsatz { font-weight: 700; margin: 0 0 6px }
.efa-hzheute dd { margin: 0 0 8px }

/* EF-03 Stellschrauben */
.efa-srows { display: grid; gap: 0 }
.efa-srow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--line) }
.efa-stxt { display: grid }
.efa-stxt .sub { margin: 0; font-size: 14px }
.efa-sctl { display: flex; align-items: center; gap: 8px }
.efa-spm { min-width: 44px; min-height: 44px; font: 800 20px var(--mono); padding: 0; display: inline-grid; place-items: center; justify-content: center }
.efa-spm:disabled { opacity: .35; cursor: default }
.efa-sdots { display: inline-flex; gap: 5px }
.efa-sdots i { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--ink); background: transparent; transition: background .2s }
.efa-sdots i.on { background: var(--c) }
.efa-srest { font-weight: 700; margin: 8px 0 }
.efa-sazl { margin: 0; padding-left: 18px; display: grid; gap: 6px }
@media (max-width: 560px) { .efa-srow { grid-template-columns: 1fr } }

.efa-lmix { display: grid; gap: 4px; transition: opacity .2s }
.efa-lmix.efa-aus { opacity: .35 }
.efa-lrow { display: grid; grid-template-columns: 7.5em minmax(0, 1fr) 6.5em; gap: 10px; align-items: center; margin: 6px 0 }
.efa-llab { font-weight: 600; font-size: 14px }
.efa-lval { font: 700 15px var(--mono); text-align: right }
@media (max-width: 560px) { .efa-lrow { grid-template-columns: 6.5em minmax(0, 1fr) 5.8em; gap: 6px } }
.efa-lrow .efa-ld { background: #2E6FD8 }

/* B7: Anpassungen an K.regler und K.papier */
.efa-hzrg .rg-wert { font-size: 28px; color: var(--c) }
.efa-hzrg .rg-kopf { min-height: 36px; align-items: center }
.efa-rtips { margin-top: 6px }
.efa-rblatt .efa-rrows { margin: 0 }
.efa-rblatt .efa-rbar { margin: 0 }
.efa-hzheute .efa-rows { grid-template-columns: minmax(0, 1fr) }
.efa-hzheute .efa-rows dd { border-top: 0; padding-top: 0 }
