/* Heek Finanzplanung — eigener Namensraum hf-, keine Berechnung im Browser. */
.hf-bereich{display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--rand);margin-top:6px;padding-top:10px}
.hf-leer,.hf-ergebnis-leer{border:1px dashed var(--rand);border-radius:10px;background:var(--creme);padding:15px;color:var(--mittelgrau);line-height:1.45}
.hf-leer b,.hf-ergebnis-leer b{color:var(--blau);font-size:14px}.hf-leer p,.hf-ergebnis-leer p{margin:5px 0 12px}
.hf-kopf{display:flex;flex-direction:column;gap:6px;border:1px solid var(--rand);border-radius:10px;background:var(--goldf);padding:9px 10px}
.hf-kopf-zeile{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hf-label{font-size:11px;font-weight:700;color:var(--mittelgrau)}
.hf-select,.hf-kopf input,.hf-feldraster input,.hf-feldraster select,.hf-tabelle input,.hf-tabelle select,.hf-kleintabelle input{font:inherit;font-size:12px;border:1px solid var(--rand);border-radius:6px;padding:4px 6px;background:#fff;color:var(--blau)}
.hf-select{max-width:330px;flex:1 1 220px}.hf-name{font-weight:700;flex:1 1 260px;min-width:180px}.hf-hinweis{font-size:11px;color:var(--mittelgrau)}
.hf-status,.hf-ergebnis-status{font-size:11px;font-weight:750;border-radius:999px;padding:3px 8px;white-space:nowrap}.hf-status.entwurf{color:var(--blau);background:#eef3fb;border:1px solid #bed0eb}.hf-status.eingefroren{color:var(--dt-gruen-tief);background:var(--dt-gruen-bg);border:1px solid var(--dt-gruen-rand)}
.hf-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--rand);padding:0 2px}.hf-tabs button{flex:0 0 auto;font:inherit;font-size:11.5px;font-weight:650;color:var(--mittelgrau);background:transparent;border:0;border-bottom:3px solid transparent;padding:8px 10px;cursor:pointer}.hf-tabs button:hover{color:var(--blau)}.hf-tabs button.aktiv{color:var(--blau);border-bottom-color:var(--gold);font-weight:800}
.hf-inhalt{min-height:160px}.hf-abschnitt{display:flex;flex-direction:column;gap:9px}.hf-abschnitt h3,.hf-ergebnis h3{margin:0;color:var(--blau);font-size:14px}.hf-abschnitt h4,.hf-ergebnis h4{margin:5px 0 0;color:var(--blau);font-size:12.5px}.hf-text{margin:0;color:var(--mittelgrau);font-size:12px;line-height:1.43}
.hf-hinweisbox{font-size:11.5px;line-height:1.4;border-left:3px solid var(--gold);border-radius:7px;background:var(--goldf);padding:7px 9px;color:var(--mittelgrau)}
.hf-feldraster{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:8px 10px}.hf-feldraster.klein{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin:8px 0}.hf-feldraster label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;font-weight:700;color:var(--mittelgrau)}
.hf-feldraster input,.hf-feldraster select{width:100%;box-sizing:border-box}.hf-feldraster small{font-size:10px;font-weight:500}.hf-zahl{text-align:right;font-variant-numeric:tabular-nums}
.hf-quelle,.hf-darlehen,.hf-teil{border:1px solid var(--rand);border-radius:9px;background:#fff;padding:8px 10px}.hf-quelle{margin-bottom:7px}.hf-quelle-kopf,.hf-listenkopf{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:12px;color:var(--blau)}
.hf-darlehen{margin-bottom:8px}.hf-darlehen summary,.hf-details summary{cursor:pointer;color:var(--blau);display:flex;align-items:baseline;gap:9px;justify-content:space-between;flex-wrap:wrap}.hf-darlehen summary span{font-size:11px;color:var(--mittelgrau);font-weight:500}
.hf-listenkopf{margin-top:8px}.hf-tun{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.hf-scroll{overflow-x:auto;border:1px solid var(--rand);border-radius:8px;background:#fff}.hf-tabelle,.hf-kleintabelle{border-collapse:collapse;width:100%;font-size:11.5px;min-width:690px}.hf-kleintabelle{min-width:280px;margin:6px 0}.hf-tabelle th,.hf-tabelle td,.hf-kleintabelle th,.hf-kleintabelle td{border:1px solid var(--rand);padding:4px 6px;text-align:left;vertical-align:top}.hf-tabelle th,.hf-kleintabelle th{font-size:10.5px;color:var(--mittelgrau);font-weight:750;background:var(--goldf)}.hf-tabelle td.z,.hf-tabelle th.z,.hf-kleintabelle td.z,.hf-kleintabelle th.z{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.hf-tabelle input,.hf-tabelle select,.hf-kleintabelle input{min-width:70px;max-width:220px;width:100%;box-sizing:border-box;border-color:transparent;background:transparent;padding:3px 4px}.hf-tabelle input:hover,.hf-tabelle input:focus,.hf-tabelle select:hover,.hf-tabelle select:focus,.hf-kleintabelle input:hover,.hf-kleintabelle input:focus{border-color:var(--goldrand);background:#fff;outline:none}.hf-tabelle select{max-width:180px}
.hf-rechts{display:flex;flex-direction:column;gap:9px}.hf-rechnen{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--rand)}.hf-rechnen span{font-size:11px;color:var(--mittelgrau);flex:1 1 200px}
.hf-pruefstand{border:1px solid var(--rand);border-radius:10px;background:var(--goldf);overflow:hidden}.hf-ps-kopf{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--rand);font-size:11.5px}.hf-ps-kopf>b{color:var(--blau);font-size:12.5px}.hf-ps-kopf>span:not(.hf-ergebnis-status){color:var(--mittelgrau);flex:1}.hf-ergebnis-status{margin-left:auto}.hf-ergebnis-status.pruefung_noetig{background:#fff1d7;border:1px solid var(--goldrand);color:var(--goldd)}.hf-ergebnis-status.entwurf{background:var(--dt-gruen-bg);border:1px solid var(--dt-gruen-rand);color:var(--dt-gruen-tief)}
.hf-ps-raster{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:1px;background:var(--rand)}.hf-ps-raster>div{padding:8px 9px;background:#fff;display:flex;flex-direction:column;gap:1px}.hf-ps-raster b{color:var(--blau);font-size:13px;font-variant-numeric:tabular-nums}.hf-ps-raster span{font-size:10.5px;color:var(--mittelgrau)}.hf-ps-raster .ok b{color:var(--dt-gruen-tief)}.hf-ps-raster .warn b{color:var(--goldd)}.hf-ps-raster .fehler b{color:#a63824}
.hf-ergebnis{display:flex;flex-direction:column;gap:9px;border:1px solid var(--dt-gruen-rand);border-radius:10px;background:var(--dt-gruen-bg);padding:10px 11px}.hf-ergebnis .hf-tabelle{background:#fff}.hf-kennzahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:7px}.hf-kennzahlen>div{display:flex;flex-direction:column;gap:2px;border:1px solid var(--rand);border-radius:8px;background:#fff;padding:7px 8px}.hf-kennzahlen span{font-size:10px;color:var(--mittelgrau);font-weight:650}.hf-kennzahlen b{font-size:15px;color:var(--dt-gruen-tief);font-variant-numeric:tabular-nums}.hf-kennzahlen small{font-size:10px;color:var(--mittelgrau)}
.hf-befunde-kurz{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--dt-gruen-rand);padding-top:8px;font-size:11.5px;color:var(--mittelgrau)}.hf-befunde-kurz>b{color:var(--blau)}.hf-befunde-kurz .fehler{color:#a63824}.hf-befunde-kurz .warnung{color:var(--goldd)}.hf-ok{font-size:12px;font-weight:650;color:var(--dt-gruen-tief);border-top:1px solid var(--dt-gruen-rand);padding-top:8px}
.hf-bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:6px;margin:9px 0}.hf-bk-grid>div{display:flex;flex-direction:column;gap:2px;border:1px solid var(--dt-gruen-rand);border-radius:7px;background:#fff;padding:6px 7px}.hf-bk-grid span{font-size:10px;color:var(--mittelgrau)}.hf-bk-grid b{font-size:13px;color:var(--dt-gruen-tief);font-variant-numeric:tabular-nums}.hf-bk-befunde{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--dt-gruen-rand);padding:7px 0;font-size:11.5px;color:var(--mittelgrau)}.hf-bk-befunde>b{color:var(--blau)}.hf-bk-befunde .fehler{color:#a63824}.hf-bk-befunde .warnung{color:var(--goldd)}
.hf-details{border-top:1px solid var(--dt-gruen-rand);padding-top:8px}.hf-details summary{font-size:12px;font-weight:700}.hf-details .hf-scroll{margin-top:7px}.hf-tabelle tr.warnung td{background:#fff7e7}.hf-tabelle tr.fehler td{background:#fff0ed}.hf-tabelle tr.ok td:first-child{color:var(--dt-gruen-tief);font-weight:700}
@media (max-width:760px){.hf-ps-raster{grid-template-columns:repeat(2,minmax(120px,1fr))}.hf-kopf-zeile{align-items:stretch}.hf-select,.hf-name{max-width:none;width:100%}}
@media (max-width:520px){.hf-ps-raster{grid-template-columns:1fr}.hf-tabs button{padding:8px 8px}.hf-feldraster{grid-template-columns:1fr}.hf-kopf .btn{flex:1 1 auto}}
