{"id":2589,"date":"2026-10-02T07:06:46","date_gmt":"2026-10-02T05:06:46","guid":{"rendered":"https:\/\/cad-kompass.de\/?p=2589"},"modified":"2026-10-02T07:06:47","modified_gmt":"2026-10-02T05:06:47","slug":"aia-lesehilfe","status":"publish","type":"post","link":"https:\/\/cad-kompass.de\/?p=2589","title":{"rendered":"AIA-Lesehilfe"},"content":{"rendered":"\n<style data-aia-stil>\n    .aia-box {\n        --aia-primary: #3f5f75;\n        --aia-primary-dark: #2c4a5e;\n        --aia-primary-deep: #1e3548;\n        --aia-error: #dc2626;\n        --aia-good: #059669;\n        --aia-good-deep: #15803d;\n        --aia-accent: #e8913a;\n        --aia-warn: #d97706;\n        --aia-ink: #1e293b;\n        --aia-text: #334155;\n        --aia-muted: #64748b;\n        --aia-faint: #94a3b8;\n        --aia-border: #c8d6e0;\n        --aia-line: #e2e8f0;\n        \/* Leiser Zeilentrenner innerhalb einer Liste, bewusst heller als --aia-line, das die\n           Struktur trennt (Gruppenkopf, Panel, Fusszeile). Ein Wert je Funktion, keine Nachbartoene. *\/\n        --aia-line-soft: #eef2f6;\n        --aia-surface: #f7f9fb;\n        \/* Helle Blaugrau-Flaeche: Chip, Hover-Flaeche, Deutungs- und Folgefragenkasten, Intro. *\/\n        --aia-fill: #eef4f8;\n        \/* Fast weisse Flaeche, nur auf dem Ergebnisblatt: der Baustein-Kasten steht auf Weiss und\n           darf sich nur andeuten, damit er im Ausdruck keine graue Wanne wird. *\/\n        --aia-fill-weich: #fbfcfd;\n        \/* Schriftfarbe in den gelben Hinweiszeilen, ein Ton fuer Text und Auszeichnung. *\/\n        --aia-warn-text: #92700c;\n        \/* Tool-spezifisch: das Quadrat vor einer Luecken-Zeile. Bewusst EIN neutraler Blaugrau-Ton\n           fuer alle Zeilen, kein Ampelverlauf. Das Werkzeug zaehlt Luecken, es bewertet sie nicht. *\/\n        --aia-quadrat: #7d93a4;\n        background: var(--aia-surface);\n        border: 3px solid var(--aia-primary);\n        border-radius: 8px;\n        margin: 28px 0;\n        overflow: hidden;\n        position: relative;\n        font-family: inherit;\n        color: var(--aia-text);\n        line-height: 1.6;\n    }\n    .aia-box *, .aia-box *::before, .aia-box *::after { box-sizing: border-box; }\n\n    .aia-header {\n        background: linear-gradient(135deg, var(--aia-primary-deep) 0%, var(--aia-primary-dark) 100%);\n        padding: 20px 28px 18px;\n        position: relative;\n        overflow: hidden;\n    }\n    .aia-header::after {\n        content: '';\n        position: absolute;\n        bottom: 0; left: 0; right: 0;\n        height: 3px;\n        background: repeating-linear-gradient(90deg, #3f5f75 0px, #3f5f75 8px, transparent 8px, transparent 12px);\n    }\n    .aia-header-top { display: flex; align-items: center; gap: 12px; }\n    .aia-header-icon { width: 36px; height: 36px; flex-shrink: 0; opacity: 0.9; }\n    .aia-box .aia-box-title {\n        font-size: 1.15rem; font-weight: 700; color: #fff;\n        margin: 0; padding: 0; letter-spacing: 0.01em; display: block;\n    }\n    .aia-box .aia-box-desc {\n        font-size: 0.85rem; color: rgba(255,255,255,0.66);\n        margin: 4px 0 0; padding: 0; line-height: 1.5; display: block;\n    }\n\n    .aia-body { padding: 22px 28px 24px; }\n\n    .aia-privacy {\n        background: #f0fdf4;\n        border: 1px solid #bbf7d0;\n        border-radius: 3px;\n        padding: 9px 14px;\n        margin-bottom: 14px;\n        font-size: 0.8rem;\n        color: #15803d;\n        line-height: 1.5;\n        display: flex; align-items: flex-start; gap: 8px;\n    }\n    .aia-privacy::before { content: '\\1F512'; flex-shrink: 0; font-size: 0.9rem; line-height: 1.5; }\n\n    .aia-intro {\n        background: var(--aia-fill);\n        border-left: 3px solid var(--aia-primary);\n        border-radius: 0 4px 4px 0;\n        padding: 12px 16px;\n        margin-bottom: 16px;\n        font-size: 0.84rem;\n        color: var(--aia-text);\n    }\n    .aia-intro p { margin: 0 0 8px; }\n    .aia-intro p:last-child { margin-bottom: 0; }\n    .aia-intro strong { color: var(--aia-ink); }\n\n    .aia-panel {\n        background: #fff;\n        border: 1px solid var(--aia-border);\n        border-radius: 4px;\n        padding: 14px 16px 16px;\n        margin-bottom: 16px;\n    }\n    .aia-panel-title {\n        font-size: 0.75rem;\n        font-weight: 700;\n        color: var(--aia-muted);\n        text-transform: uppercase;\n        letter-spacing: 0.06em;\n        margin: 0 0 10px;\n    }\n\n    .aia-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }\n    .aia-field { margin: 0; }\n    .aia-field-wide { grid-column: 1 \/ -1; }\n    .aia-label {\n        font-size: 0.74rem;\n        font-weight: 700;\n        color: var(--aia-muted);\n        letter-spacing: 0.03em;\n        margin-bottom: 4px;\n        display: block;\n    }\n\n    .aia-box .aia-input {\n        width: 100%;\n        padding: 8px 11px !important;\n        font-family: inherit !important;\n        font-size: 0.86rem !important;\n        line-height: 1.4 !important;\n        border: 1px solid var(--aia-border) !important;\n        border-radius: 3px !important;\n        color: var(--aia-ink) !important;\n        background: #fff !important;\n        box-shadow: none !important;\n        -webkit-appearance: none !important;\n        appearance: none !important;\n        transition: border-color 0.15s, box-shadow 0.15s;\n    }\n    .aia-box .aia-input:focus {\n        outline: none !important;\n        border-color: var(--aia-primary) !important;\n        box-shadow: 0 0 0 2px rgba(63,95,117,0.12) !important;\n    }\n    .aia-box .aia-input::placeholder { color: var(--aia-faint); }\n    .aia-box .aia-input-sm { padding: 6px 9px !important; font-size: 0.8rem !important; }\n    .aia-box .aia-input-num { max-width: 110px; }\n\n    .aia-box .aia-btn {\n        -webkit-appearance: none !important;\n        appearance: none !important;\n        display: inline-flex;\n        align-items: center;\n        min-height: 36px !important;\n        padding: 7px 14px !important;\n        font: inherit !important;\n        font-size: 0.82rem !important;\n        font-weight: 700 !important;\n        line-height: 1.3 !important;\n        border: 1px solid var(--aia-primary) !important;\n        border-radius: 3px !important;\n        background: #fff !important;\n        color: var(--aia-primary) !important;\n        cursor: pointer !important;\n        box-shadow: none !important;\n        text-transform: none !important;\n        letter-spacing: normal !important;\n        transition: background 0.15s, color 0.15s, border-color 0.15s;\n    }\n    .aia-box .aia-btn:hover { background: var(--aia-primary) !important; color: #fff !important; border-color: var(--aia-primary) !important; }\n    .aia-box .aia-btn:active { background: var(--aia-primary-dark) !important; color: #fff !important; border-color: var(--aia-primary-dark) !important; }\n    .aia-box .aia-btn:focus-visible { outline: 2px solid var(--aia-primary) !important; outline-offset: 2px !important; }\n    .aia-box .aia-btn:disabled { opacity: 0.45 !important; cursor: not-allowed !important; background: #f1f5f9 !important; color: var(--aia-faint) !important; border-color: var(--aia-border) !important; }\n    .aia-box .aia-btn.is-active { background: var(--aia-primary) !important; color: #fff !important; border-color: var(--aia-primary) !important; }\n    .aia-box .aia-btn-ghost {\n        border-color: var(--aia-border) !important;\n        color: var(--aia-muted) !important;\n        font-weight: 600 !important;\n    }\n    .aia-box .aia-btn-ghost:hover { background: var(--aia-fill) !important; color: var(--aia-ink) !important; border-color: var(--aia-primary) !important; }\n    .aia-box .aia-btn-ghost:active { background: #e2eaf1 !important; color: var(--aia-primary-deep) !important; border-color: var(--aia-primary-dark) !important; }\n\n    .aia-box .aia-segbtn {\n        -webkit-appearance: none !important;\n        appearance: none !important;\n        display: inline-flex;\n        align-items: center;\n        min-height: 34px !important;\n        padding: 5px 12px !important;\n        font: inherit !important;\n        font-size: 0.81rem !important;\n        font-weight: 600 !important;\n        line-height: 1.3 !important;\n        border: 1px solid var(--aia-border) !important;\n        border-radius: 3px !important;\n        background: #fff !important;\n        color: var(--aia-muted) !important;\n        cursor: pointer !important;\n        box-shadow: none !important;\n        text-transform: none !important;\n        letter-spacing: normal !important;\n        transition: background 0.15s, color 0.15s, border-color 0.15s;\n    }\n    .aia-box .aia-segbtn:hover { background: var(--aia-fill) !important; border-color: var(--aia-primary) !important; color: var(--aia-ink) !important; }\n    .aia-box .aia-segbtn:active { background: #e2eaf1 !important; border-color: var(--aia-primary-dark) !important; color: var(--aia-primary-deep) !important; }\n    .aia-box .aia-segbtn:focus-visible { outline: 2px solid var(--aia-primary) !important; outline-offset: 2px !important; border-color: var(--aia-primary) !important; color: var(--aia-primary) !important; }\n    .aia-box .aia-segbtn:disabled { opacity: 0.45 !important; cursor: not-allowed !important; background: #f1f5f9 !important; color: var(--aia-faint) !important; border-color: var(--aia-border) !important; }\n    .aia-box .aia-segbtn.is-active { background: var(--aia-primary) !important; border-color: var(--aia-primary) !important; color: #fff !important; }\n    .aia-box .aia-segbtn.is-active:hover { background: var(--aia-primary-dark) !important; border-color: var(--aia-primary-dark) !important; color: #fff !important; }\n\n    .aia-toolbar {\n        background: #fff;\n        border: 1px solid var(--aia-border);\n        border-radius: 4px;\n        padding: 12px 16px;\n        margin-bottom: 16px;\n    }\n    .aia-toolbar-row { display: flex; flex-wrap: wrap; gap: 8px; }\n    .aia-fortschritt {\n        font-size: 0.86rem;\n        color: var(--aia-ink);\n        margin: 0 0 10px;\n        line-height: 1.55;\n    }\n    .aia-fortschritt strong { color: var(--aia-primary-deep); }\n    .aia-fortschritt span { display: block; font-size: 0.8rem; color: var(--aia-muted); margin-top: 2px; }\n\n    .aia-nav { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--aia-line); }\n    .aia-nav-label { font-size: 0.76rem; color: var(--aia-muted); align-self: center; margin-right: 2px; }\n\n    .aia-group {\n        background: #fff;\n        border: 1px solid var(--aia-border);\n        border-radius: 4px;\n        padding: 14px 16px 6px;\n        margin-bottom: 14px;\n    }\n    .aia-group-head {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: baseline;\n        gap: 8px 10px;\n        padding-bottom: 8px;\n        border-bottom: 1px solid var(--aia-line);\n        margin-bottom: 4px;\n    }\n    .aia-group-nr {\n        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n        font-size: 0.88rem;\n        font-weight: 700;\n        color: var(--aia-primary-deep);\n        background: var(--aia-fill);\n        border: 1px solid var(--aia-border);\n        border-radius: 2px;\n        padding: 1px 8px;\n        letter-spacing: 0.04em;\n    }\n    .aia-group-title { font-size: 0.98rem; font-weight: 700; color: var(--aia-ink); margin: 0; flex: 1 1 200px; line-height: 1.35; }\n    .aia-group-zahl { font-size: 0.76rem; color: var(--aia-muted); white-space: nowrap; }\n\n    .aia-q { padding: 12px 0 13px; border-top: 1px solid var(--aia-line-soft); }\n    .aia-q:first-of-type { border-top: 0; }\n    .aia-q-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 9px; margin-bottom: 5px; }\n    .aia-q-nr {\n        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n        font-size: 0.82rem;\n        font-weight: 700;\n        color: var(--aia-primary-deep);\n        letter-spacing: 0.03em;\n    }\n    .aia-q-gew {\n        font-size: 0.68rem;\n        font-weight: 700;\n        text-transform: uppercase;\n        letter-spacing: 0.05em;\n        color: var(--aia-muted);\n        border: 1px solid var(--aia-border);\n        border-radius: 2px;\n        padding: 0 5px;\n        white-space: nowrap;\n    }\n    .aia-q-gew.aia-gew-t { color: var(--aia-primary-deep); border-color: #a9bfcf; background: var(--aia-fill); }\n    .aia-q-text { font-size: 0.9rem; font-weight: 600; color: var(--aia-ink); margin: 0; flex: 1 1 240px; line-height: 1.5; }\n    .aia-q-ort { font-size: 0.79rem; color: var(--aia-muted); margin: 0 0 7px; line-height: 1.55; }\n    .aia-q-ort strong { color: var(--aia-primary-dark); }\n    .aia-q-deut { font-size: 0.79rem; color: var(--aia-text); margin: 0 0 7px; line-height: 1.55; background: var(--aia-fill); border-left: 3px solid var(--aia-border); border-radius: 0 3px 3px 0; padding: 5px 10px; }\n    .aia-seg { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }\n    .aia-notiz { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }\n    .aia-notiz label { font-size: 0.75rem; color: var(--aia-muted); font-weight: 600; white-space: nowrap; }\n    .aia-notiz .aia-input { flex: 1 1 220px; width: auto; }\n    .aia-folge {\n        margin-top: 9px;\n        padding: 9px 12px;\n        background: var(--aia-fill);\n        border: 1px solid var(--aia-line);\n        border-left: 3px solid var(--aia-primary);\n        border-radius: 0 3px 3px 0;\n    }\n    .aia-folge-frage { font-size: 0.82rem; font-weight: 600; color: var(--aia-ink); margin: 0 0 7px; line-height: 1.5; }\n    .aia-q.is-locked { opacity: 0.62; }\n    .aia-lock {\n        font-size: 0.77rem;\n        color: var(--aia-muted);\n        margin: 0 0 7px;\n        line-height: 1.5;\n        font-style: normal;\n    }\n    .aia-pflicht {\n        font-size: 0.77rem;\n        color: var(--aia-warn-text);\n        background: #fffbeb;\n        border: 1px solid #f4cf81;\n        border-left: 3px solid var(--aia-warn);\n        border-radius: 0 3px 3px 0;\n        padding: 6px 11px;\n        margin: 0 0 7px;\n        line-height: 1.5;\n    }\n    .aia-warnzeile {\n        font-size: 0.8rem;\n        color: var(--aia-warn-text);\n        background: #fffbeb;\n        border: 1px solid #f4cf81;\n        border-left: 3px solid var(--aia-warn);\n        border-radius: 0 3px 3px 0;\n        padding: 8px 12px;\n        margin: 10px 0 2px;\n        line-height: 1.55;\n    }\n    .aia-warnzeile strong { color: var(--aia-warn-text); }\n\n    \/* ---------- Ergebnisblatt ---------- *\/\n\n    .aia-sheet {\n        background: #fff;\n        border: 1px solid var(--aia-border);\n        border-radius: 4px;\n        padding: 18px 20px 20px;\n        margin-top: 22px;\n    }\n    .aia-sheet-kopf { border-bottom: 2px solid var(--aia-primary); padding-bottom: 10px; margin-bottom: 14px; }\n    .aia-sheet-marke { font-size: 0.78rem; font-weight: 700; color: var(--aia-primary); letter-spacing: 0.04em; }\n    .aia-sheet-title { font-size: 1.05rem; font-weight: 700; color: var(--aia-ink); margin: 2px 0 0; }\n    .aia-fakt { display: flex; gap: 12px; padding: 3px 0; border-top: 1px solid var(--aia-line-soft); font-size: 0.84rem; }\n    .aia-fakt:first-of-type { border-top: 0; }\n    .aia-fakt-key { flex: 0 0 210px; color: var(--aia-muted); font-weight: 600; line-height: 1.5; }\n    .aia-fakt-val {\n        flex: 1 1 auto;\n        color: var(--aia-ink);\n        line-height: 1.5;\n        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n        font-size: 0.82rem;\n        word-break: break-word;\n    }\n    .aia-leer { display: inline-block; min-width: 200px; border-bottom: 1px dotted var(--aia-faint); height: 1em; vertical-align: -0.15em; }\n    .aia-sheet-zeile { font-size: 0.79rem; color: var(--aia-muted); margin: 9px 0 0; line-height: 1.55; }\n\n    .aia-blk { margin-top: 18px; }\n    .aia-blk-title {\n        font-size: 0.76rem;\n        font-weight: 700;\n        color: var(--aia-primary);\n        text-transform: uppercase;\n        letter-spacing: 0.08em;\n        margin: 0 0 8px;\n        padding-bottom: 4px;\n        border-bottom: 1px solid var(--aia-border);\n    }\n    .aia-blk-lead { font-size: 0.84rem; color: var(--aia-text); margin: 0 0 10px; line-height: 1.6; }\n    .aia-blk-lead strong { color: var(--aia-ink); }\n    .aia-sub { font-size: 0.8rem; font-weight: 700; color: var(--aia-ink); margin: 12px 0 6px; }\n    .aia-sub:first-child { margin-top: 0; }\n    .aia-gruppenkopf { font-size: 0.78rem; font-weight: 700; color: var(--aia-muted); margin: 10px 0 4px; }\n    .aia-gruppenkopf:first-child { margin-top: 0; }\n\n    .aia-row { display: flex; gap: 9px; align-items: flex-start; padding: 4px 0; border-top: 1px solid var(--aia-line-soft); font-size: 0.83rem; line-height: 1.55; }\n    .aia-row:first-of-type { border-top: 0; }\n    .aia-mark { flex: 0 0 auto; display: inline-block; width: 7px; height: 7px; border-radius: 1px; background: var(--aia-quadrat); margin-top: 8px; }\n    .aia-row-nr {\n        flex: 0 0 34px;\n        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n        font-size: 0.79rem;\n        font-weight: 700;\n        color: var(--aia-primary-deep);\n        line-height: 1.7;\n    }\n    .aia-row-body { flex: 1 1 auto; }\n    .aia-row-txt { color: var(--aia-ink); }\n    .aia-row-antw { color: var(--aia-muted); }\n    .aia-row-notiz { display: block; font-size: 0.79rem; color: var(--aia-muted); margin-top: 1px; }\n    .aia-row-notiz em { font-style: normal; color: var(--aia-text); }\n\n    .aia-bf { border: 1px solid var(--aia-line); border-left: 3px solid var(--aia-primary); border-radius: 0 3px 3px 0; padding: 10px 13px; margin-bottom: 10px; background: var(--aia-fill-weich); }\n    .aia-bf-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 9px; margin-bottom: 6px; }\n    .aia-bf-kenn {\n        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n        font-size: 0.76rem;\n        font-weight: 700;\n        color: var(--aia-primary-deep);\n        background: #fff;\n        border: 1px solid var(--aia-border);\n        border-radius: 2px;\n        padding: 1px 7px;\n        white-space: nowrap;\n    }\n    .aia-bf-anlass { font-size: 0.82rem; font-weight: 700; color: var(--aia-ink); }\n    .aia-bf-art { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--aia-muted); border: 1px solid var(--aia-border); border-radius: 2px; padding: 0 5px; }\n    .aia-bf-text { font-size: 0.85rem; color: var(--aia-text); margin: 0; line-height: 1.7; }\n    .aia-bf-note { font-size: 0.78rem; color: var(--aia-muted); margin: 7px 0 0; line-height: 1.6; }\n    .aia-bf-meta { font-size: 0.75rem; color: var(--aia-faint); margin: 6px 0 0; line-height: 1.55; }\n\n    .aia-ann { display: flex; flex-wrap: wrap; gap: 6px 9px; align-items: baseline; padding: 5px 0; border-top: 1px solid var(--aia-line-soft); }\n    .aia-ann:first-of-type { border-top: 0; }\n    .aia-ann-key { flex: 0 0 auto; font-size: 0.8rem; color: var(--aia-muted); line-height: 1.5; }\n    .aia-ann-key b { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; color: var(--aia-primary-deep); }\n    .aia-ann .aia-input { flex: 1 1 240px; width: auto; }\n\n    .aia-sheet-foot { margin-top: 18px; padding-top: 11px; border-top: 1px solid var(--aia-border); font-size: 0.76rem; color: var(--aia-muted); line-height: 1.6; }\n    .aia-sheet-foot p { margin: 0 0 4px; }\n    .aia-sheet-foot p:last-child { margin-bottom: 0; }\n    .aia-sheet-foot strong { color: var(--aia-primary-dark); }\n\n\n    \/* ---------- Leeres Raster, nur im Druck ---------- *\/\n\n    .aia-raster { display: none; }\n    .aia-r-kopf { border-bottom: 2px solid #3f5f75; padding-bottom: 6px; margin-bottom: 8px; }\n    .aia-r-felder { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-bottom: 8px; }\n    .aia-r-feld { font-size: 7pt; color: #64748b; }\n    .aia-r-group { margin-bottom: 7px; }\n    .aia-r-group-title { font-size: 8pt; font-weight: 700; color: #1e3548; border-bottom: 1px solid #c8d6e0; padding-bottom: 2px; margin-bottom: 3px; }\n    .aia-r-q { padding: 2.5px 0; border-bottom: 1px dotted #dbe4ec; }\n    .aia-r-q-head { font-size: 7.6pt; color: #1e293b; line-height: 1.35; }\n    .aia-r-q-nr { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; margin-right: 5px; }\n    .aia-r-ort { font-size: 6.4pt; color: #64748b; line-height: 1.3; margin: 1px 0 0; }\n    .aia-r-boxes { display: flex; gap: 9px; margin: 2px 0 0; align-items: center; }\n    .aia-r-box { font-size: 6.6pt; color: #334155; display: inline-flex; align-items: center; gap: 3px; }\n    .aia-r-box::before { content: ''; display: inline-block; width: 7px; height: 7px; border: 0.7pt solid #64748b; border-radius: 1px; }\n    .aia-r-line { flex: 1 1 auto; border-bottom: 0.5pt dotted #94a3b8; height: 9px; margin-left: 6px; }\n\n    \/* ---------- Kurzblatt: Kernfragen vorn, nach dem Zuschlag hinten ---------- *\/\n\n    .aia-kurz {\n        background: #fff;\n        border: 1px solid var(--aia-border);\n        border-radius: 4px;\n        padding: 18px 20px 20px;\n        margin-top: 22px;\n    }\n    .aia-k-rueck { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--aia-border); }\n    .aia-k-lead { font-size: 0.84rem; color: var(--aia-text); margin: 0 0 10px; line-height: 1.6; }\n    .aia-k-felder { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0 0 8px; font-size: 0.8rem; color: var(--aia-muted); }\n    .aia-k-q { padding: 7px 0 8px; border-top: 1px solid var(--aia-line-soft); }\n    .aia-k-q-head { display: flex; gap: 9px; align-items: baseline; font-size: 0.88rem; font-weight: 600; color: var(--aia-ink); line-height: 1.5; }\n    .aia-k-nr {\n        flex: 0 0 22px;\n        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n        font-size: 0.8rem;\n        font-weight: 700;\n        color: var(--aia-primary-deep);\n    }\n    .aia-k-ref { font-size: 0.76rem; color: var(--aia-muted); margin: 2px 0 0 31px; line-height: 1.45; }\n    \/* Kaestchen und Notizlinie gibt es nur auf Papier. Am Bildschirm waeren leere Kaestchen ein\n       Bedienelement, das nichts tut. *\/\n    .aia-k-boxes { display: none; }\n    .aia-k-box { display: inline-flex; align-items: center; gap: 4px; }\n    .aia-k-box::before { content: ''; display: inline-block; width: 8px; height: 8px; border: 0.7pt solid #64748b; border-radius: 1px; }\n    .aia-k-line { flex: 1 1 120px; border-bottom: 0.5pt dotted #94a3b8; height: 10px; }\n    .aia-k-punkt { display: flex; gap: 9px; align-items: flex-start; padding: 5px 0; border-top: 1px solid var(--aia-line-soft); font-size: 0.84rem; line-height: 1.55; color: var(--aia-ink); }\n    .aia-k-punkt::before { content: ''; flex: 0 0 auto; width: 7px; height: 7px; border-radius: 1px; background: var(--aia-quadrat); margin-top: 8px; }\n    .aia-k-seite { display: block; font-size: 0.76rem; color: var(--aia-muted); margin-top: 1px; }\n    .aia-k-body { flex: 1 1 auto; }\n    \/* Nur auf Papier: Spalte zum Eintragen von Person und Termin, und die Adresse der Seite. *\/\n    .aia-k-wer, .aia-k-url { display: none; }\n\n    .aia-foot {\n        margin-top: 20px;\n        padding-top: 14px;\n        border-top: 1px solid var(--aia-border);\n        font-size: 0.76rem;\n        color: var(--aia-muted);\n        line-height: 1.6;\n    }\n    .aia-foot p { margin: 0 0 7px; }\n    .aia-foot p:last-child { margin-bottom: 0; }\n    .aia-foot strong { color: var(--aia-primary-dark); }\n\n    @media (max-width: 620px) {\n        .aia-header { padding: 16px 18px 15px; }\n        .aia-body { padding: 18px 18px 20px; }\n        .aia-grid { grid-template-columns: 1fr; }\n        .aia-fakt { flex-direction: column; gap: 0; }\n        .aia-fakt-key { flex: none; }\n        .aia-sheet { padding: 14px 14px 16px; }\n        \/* 16px ist die Untergrenze, unter der iOS-Safari beim Antippen eines Feldes von selbst\n           hineinzoomt. Das Werkzeug ist ein Fragebogen, es wird oft angetippt. *\/\n        .aia-box .aia-input,\n        .aia-box .aia-input-sm { font-size: 16px !important; }\n    }\n\n    \/* Greift auch, wenn das Telefon quer liegt und damit breiter als 620px misst. *\/\n    @media (pointer: coarse) {\n        .aia-box .aia-input,\n        .aia-box .aia-input-sm { font-size: 16px !important; }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n        .aia-box .aia-input,\n        .aia-box .aia-btn,\n        .aia-box .aia-segbtn { transition: none !important; }\n    }\n\n    @media print {\n        @page { size: A4 portrait; margin: 13mm 12mm 20mm; }\n\n        .aia-box {\n            background: #fff !important;\n            border: 0 !important;\n            border-radius: 0 !important;\n            margin: 0 !important;\n            overflow: visible !important;\n            color: #1e293b !important;\n            line-height: 1.4 !important;\n        }\n        .aia-body { padding: 0 !important; }\n        .aia-header,\n        .aia-privacy,\n        .aia-intro,\n        .aia-panel,\n        .aia-toolbar,\n        .aia-katalog,\n        .aia-foot,\n        .aia-sheet-aktion { display: none !important; }\n\n        .aia-sheet {\n            border: 0 !important;\n            border-radius: 0 !important;\n            padding: 0 0 6mm !important;\n            margin: 0 !important;\n            font-size: 10pt;\n        }\n        .aia-sheet-marke { font-size: 8pt; }\n        .aia-sheet-title { font-size: 12pt; }\n        .aia-sheet-kopf { padding-bottom: 5px; margin-bottom: 8px; page-break-after: avoid; }\n        .aia-fakt { font-size: 9pt; padding: 1.5px 0; page-break-inside: avoid; }\n        .aia-fakt-key { flex: 0 0 190px; }\n        .aia-fakt-val { font-size: 8.6pt; }\n        .aia-sheet-zeile { font-size: 8pt; margin-top: 5px; }\n        .aia-blk { margin-top: 10px; page-break-before: auto; }\n        .aia-blk-title { font-size: 8pt; margin-bottom: 5px; page-break-after: avoid; }\n        .aia-blk-lead { font-size: 9pt; margin-bottom: 6px; }\n        .aia-sub, .aia-gruppenkopf { font-size: 8.6pt; margin: 6px 0 3px; page-break-after: avoid; }\n        .aia-row { font-size: 8.8pt; padding: 1.5px 0; page-break-inside: avoid; }\n        .aia-row-nr { font-size: 8.4pt; flex: 0 0 30px; }\n        .aia-row-notiz { font-size: 8pt; }\n        .aia-mark { margin-top: 5px; }\n        .aia-bf { padding: 5px 9px; margin-bottom: 5px; background: #fff !important; page-break-inside: avoid; }\n        .aia-bf-kenn { font-size: 7.6pt; }\n        .aia-bf-anlass { font-size: 8.6pt; }\n        .aia-bf-text { font-size: 9pt; line-height: 1.45; }\n        .aia-bf-note, .aia-bf-meta { font-size: 7.8pt; line-height: 1.35; margin-top: 3px; }\n        .aia-ann { padding: 2px 0; page-break-inside: avoid; }\n        .aia-ann-key { font-size: 8.4pt; }\n        .aia-sheet-foot { margin-top: 8px; padding-top: 4px; font-size: 7.6pt; line-height: 1.4; page-break-inside: avoid; }\n        .aia-kurz .aia-sheet-foot { font-size: 8.8pt; color: #334155; }\n\n        .aia-box .aia-input {\n            border: 0 !important;\n            border-bottom: 0.5pt dotted #94a3b8 !important;\n            border-radius: 0 !important;\n            padding: 0 2px !important;\n            font-size: 8.6pt !important;\n            background: transparent !important;\n            box-shadow: none !important;\n        }\n\n\n        .aia-raster { display: none; }\n        .aia-box.aia-print-raster .aia-sheet { display: none !important; }\n        .aia-box.aia-print-raster .aia-raster { display: block !important; }\n        .aia-r-group { page-break-inside: auto; }\n        .aia-r-group-title { page-break-after: avoid; }\n        .aia-r-q { page-break-inside: avoid; }\n\n        .aia-kurz { display: none !important; }\n        .aia-box.aia-print-kurz .aia-sheet { display: none !important; }\n        .aia-box.aia-print-kurz .aia-kurz {\n            display: block !important;\n            border: 0 !important;\n            border-radius: 0 !important;\n            padding: 0 !important;\n            margin: 0 !important;\n            font-size: 10pt;\n        }\n        .aia-k-rueck { break-before: page; page-break-before: always; margin-top: 0; padding-top: 0; border-top: 0; }\n        .aia-k-lead { font-size: 9.6pt; margin-bottom: 6px; line-height: 1.4; }\n        .aia-k-felder { font-size: 9pt; gap: 3px 16px; margin-bottom: 4px; color: #334155; }\n        .aia-k-q { padding: 4px 0 5px; page-break-inside: avoid; }\n        .aia-k-q-head { font-size: 10pt; line-height: 1.35; }\n        .aia-k-nr { font-size: 9pt; flex: 0 0 18px; }\n        .aia-k-ref, .aia-k-nurschirm { display: none; }\n        .aia-k-boxes { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 11px; margin: 3px 0 0 27px; font-size: 8.4pt; color: #334155; }\n        .aia-k-punkt { font-size: 9.2pt; line-height: 1.3; padding: 2px 0; page-break-inside: avoid; }\n        .aia-k-punkt::before { background: transparent; border: 0.7pt solid #64748b; width: 8px; height: 8px; margin-top: 3px; }\n        .aia-k-seite { display: inline; font-size: 8pt; margin: 0 0 0 6px; white-space: nowrap; color: #475569; }\n        .aia-k-wer { display: block; flex: 0 0 22mm; align-self: flex-end; border-bottom: 0.5pt dotted #94a3b8; font-size: 7pt; color: #64748b; line-height: 1.2; padding-bottom: 1px; }\n        .aia-k-url { display: block; }\n        .aia-kurz .aia-sub { font-size: 9.4pt; margin: 6px 0 1px; page-break-after: avoid; }\n    }\n<\/style>\n\n<div class=\"aia-box\" data-aia-root>\n    <div class=\"aia-header\">\n        <div class=\"aia-header-top\">\n            <svg class=\"aia-header-icon\" viewBox=\"0 0 36 36\" fill=\"none\" aria-hidden=\"true\">\n                <path d=\"M8 4h13l7 7v21a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z\" stroke=\"rgba(255,255,255,0.55)\" stroke-width=\"1.6\"\/>\n                <path d=\"M21 4v7h7\" stroke=\"rgba(255,255,255,0.55)\" stroke-width=\"1.6\" stroke-linejoin=\"round\"\/>\n                <line x1=\"11\" y1=\"16\" x2=\"24\" y2=\"16\" stroke=\"rgba(255,255,255,0.9)\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                <line x1=\"11\" y1=\"21\" x2=\"24\" y2=\"21\" stroke=\"rgba(255,255,255,0.45)\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                <line x1=\"11\" y1=\"26\" x2=\"18\" y2=\"26\" stroke=\"rgba(255,255,255,0.45)\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\n                <rect x=\"25\" y=\"24\" width=\"7\" height=\"7\" rx=\"1\" fill=\"#1e3548\" stroke=\"rgba(255,255,255,0.92)\" stroke-width=\"1.6\"\/>\n            <\/svg>\n            <div>\n                <h2 class=\"aia-box-title\">AIA-Lesehilfe<\/h2>\n                <div class=\"aia-box-desc\">Fragen an eine fremde AIA, Gruppe f\u00fcr Gruppe. Am Ende steht ein Blatt zum Ausdrucken: was gefordert ist, was fehlt, und welche Bieterfragen daraus werden. F\u00fcr den ersten Blick gibt es ein Kurzblatt mit den Kernfragen.<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"aia-body\">\n        <div class=\"aia-privacy\">L\u00e4uft komplett im Browser. Keine Daten verlassen deinen Rechner. Es wird keine Datei hochgeladen, kein Text an einen Server geschickt und kein Dienst aufgerufen. Deine Eingaben bleiben auf diesem Ger\u00e4t und lassen sich jederzeit l\u00f6schen.<\/div>\n\n        <div class=\"aia-intro\">\n            <p><strong>So arbeitest du damit:<\/strong> Leg die AIA aus deiner Vergabeunterlage neben den Bildschirm und geh die Fragen durch. Zu jeder Frage steht, wo die Angabe in den deutschen Mustern normalerweise steht und nach welchem Stichwort du im PDF suchst. Deine Fundstelle tr\u00e4gst du ins Notizfeld ein, denn erst damit l\u00e4sst sich das Blatt sp\u00e4ter nachvollziehen.<\/p>\n            <p>\u201eja&#8220; hei\u00dft, das Gefragte steht eindeutig da. \u201enein&#8220; hei\u00dft, es steht nicht drin. Steht nur ein Teil da oder l\u00e4sst sich die Stelle zweifach lesen, w\u00e4hlst du \u201eunklar&#8220;. \u201ebetrifft mich nicht&#8220; nimmst du, wenn die Frage in deinem Verfahren keine Rolle spielt, etwa weil gar kein IFC gefordert ist. Wo eine Frage davon abweicht, steht es direkt darunter.<\/p>\n            <p>Wie eine AIA aufgebaut ist und welche f\u00fcnf Stellen \u00fcber die Arbeitsmenge entscheiden, steht auf der Seite <a href=\"https:\/\/cad-kompass.de\/?p=2579\">AIA lesen in neunzig Minuten<\/a> dieses Themenfelds; jeden Begriff, der hier vorkommt, erkl\u00e4rt das <a href=\"https:\/\/cad-kompass.de\/?p=2641\">BIM-Lexikon<\/a>.<\/p>\n            <p><strong>Das Werkzeug bewertet den Auftraggeber nicht.<\/strong> Es gibt keine Punktzahl, keine Ampel und keinen Reifegrad. Eine kurze AIA kann eine bewusst funktionale AIA sein, bei der die Ausgestaltung beim Auftragnehmer liegt. Gez\u00e4hlt und benannt werden hier nur die Stellen, an denen etwas offen bleibt, das deinen Preis ber\u00fchrt.<\/p>\n            <p>Du musst nicht alle Fragen beantworten, damit das Blatt etwas taugt. Wer wenig Zeit hat, arbeitet die Gruppen 2 bis 5 durch, dort steckt die Arbeitsmenge.<\/p>\n            <p>Steht in deinen Unterlagen nur ein Satz zu BIM, oder brauchst du erst den \u00dcberblick, nimm das Kurzblatt unter dem Ergebnisblatt. Es fasst die Fragen, die in jeder Ausschreibung z\u00e4hlen, auf einer Seite zusammen, und seine R\u00fcckseite nennt, was nach dem Zuschlag feststehen sollte.<\/p>\n        <\/div>\n\n        <div class=\"aia-panel\">\n            <p class=\"aia-panel-title\">Kopfdaten f\u00fcr das Ergebnisblatt<\/p>\n            <div class=\"aia-grid\">\n                <div class=\"aia-field aia-field-wide\">\n                    <label class=\"aia-label\" for=\"aiaKopfBezeichnung\">Bezeichnung dieser Durchsicht<\/label>\n                    <input type=\"text\" class=\"aia-input\" id=\"aiaKopfBezeichnung\" data-kopf=\"bezeichnung\" placeholder=\"zum Beispiel: Beispiel Gemeinde, Kanalerneuerung, Durchsicht vom 12.08.\" autocomplete=\"off\">\n                <\/div>\n                <div class=\"aia-field\">\n                    <label class=\"aia-label\" for=\"aiaKopfProjekt\">Projekt<\/label>\n                    <input type=\"text\" class=\"aia-input\" id=\"aiaKopfProjekt\" data-kopf=\"projekt\" placeholder=\"Gemeindestra\u00dfe mit Kanalerneuerung\" autocomplete=\"off\">\n                <\/div>\n                <div class=\"aia-field\">\n                    <label class=\"aia-label\" for=\"aiaKopfAg\">Auftraggeber<\/label>\n                    <input type=\"text\" class=\"aia-input\" id=\"aiaKopfAg\" data-kopf=\"ag\" placeholder=\"Stadt, Kreis, Zweckverband\" autocomplete=\"off\">\n                <\/div>\n                <div class=\"aia-field\">\n                    <label class=\"aia-label\" for=\"aiaKopfAia\">Bezeichnung der AIA<\/label>\n                    <input type=\"text\" class=\"aia-input\" id=\"aiaKopfAia\" data-kopf=\"aia\" placeholder=\"Anlage mit den Auftraggeber-Informationsanforderungen\" autocomplete=\"off\">\n                <\/div>\n                <div class=\"aia-field\">\n                    <label class=\"aia-label\" for=\"aiaKopfFassung\">Fassung und Datum der AIA<\/label>\n                    <input type=\"text\" class=\"aia-input\" id=\"aiaKopfFassung\" data-kopf=\"fassung\" placeholder=\"Version und Stand laut Deckblatt\" autocomplete=\"off\">\n                <\/div>\n                <div class=\"aia-field aia-field-wide\">\n                    <label class=\"aia-label\" for=\"aiaKopfBearbeiter\">Bearbeiter und Datum der Durchsicht<\/label>\n                    <input type=\"text\" class=\"aia-input\" id=\"aiaKopfBearbeiter\" data-kopf=\"bearbeiter\" placeholder=\"Name, Datum\" autocomplete=\"off\">\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"aia-toolbar\">\n            <p class=\"aia-fortschritt\" id=\"aiaFortschritt\" aria-live=\"polite\" role=\"status\"><\/p>\n            <div class=\"aia-toolbar-row\">\n                <button type=\"button\" class=\"aia-btn\" id=\"aiaZumBlatt\">Zum Ergebnisblatt<\/button>\n                <button type=\"button\" class=\"aia-btn\" id=\"aiaDruckBlatt\">Ergebnisblatt drucken<\/button>\n                <button type=\"button\" class=\"aia-btn aia-btn-ghost\" id=\"aiaDruckRaster\">Leeres Raster drucken<\/button>\n                <button type=\"button\" class=\"aia-btn aia-btn-ghost\" id=\"aiaDruckKurz\">Kurzblatt drucken<\/button>\n                <button type=\"button\" class=\"aia-btn aia-btn-ghost\" id=\"aiaLoeschen\">Eingaben l\u00f6schen<\/button>\n            <\/div>\n            <div class=\"aia-nav\" id=\"aiaNav\"><span class=\"aia-nav-label\">Springen zu:<\/span><\/div>\n        <\/div>\n\n        <div class=\"aia-katalog\" id=\"aiaKatalog\"><\/div>\n\n        <div class=\"aia-sheet\" id=\"aiaSheet\"><\/div>\n\n        <div class=\"aia-kurz\" id=\"aiaKurz\"><\/div>\n\n        <div class=\"aia-raster\" id=\"aiaRaster\" aria-hidden=\"true\"><\/div>\n\n        <div class=\"aia-foot\">\n            <p><strong>Woher das Fragenraster kommt:<\/strong> Es st\u00fctzt sich auf acht deutsche Muster-AIA, deren Inhaltsverzeichnisse am 31.07.2026 verglichen wurden: auf die Themen, die in praktisch jedem Muster stehen, und auf einige, die nur einzelne Muster f\u00fchren. Die Kapitelnummern in der Spalte \u201eWo nachsehen&#8220; folgen dem Rahmendokument Auftraggeber-Informationsanforderungen des Masterplans BIM Bundesfernstra\u00dfen, Version 1.0 von 2021; dieselbe Gliederung nutzt das AIA-Muster der DEGES.<\/p>\n            <p>Die bereichs\u00fcbergreifende Muster-AIA von BIM Deutschland (Version 4.1, Teil 1) z\u00e4hlt bei Qualit\u00e4tssicherung, Testlauf und Technologien anders, dort steht ihre Nummer bei der jeweiligen Frage daneben; wo zus\u00e4tzlich eine zweite reale Bauform abweicht, steht die Entsprechung aus der AIA-Mustervorlage von BIM.Hamburg (V002) daneben. Eine abweichende Gliederung in deiner Unterlage ist kein Mangel, dann hilft das Suchwort weiter.<\/p>\n            <p><strong>Was hier bewusst nicht drinsteht:<\/strong> Das Raster st\u00fctzt sich ausschlie\u00dflich auf die Musterdokumente, nicht auf VDI 2552 Blatt 10. Deren Abschnitt zu Struktur und Inhalten der AIA liegt hinter einer Kopierschutzsperre und wurde nicht eingesehen. Aus Normen ist kein Satz eingebettet, nur Titel und Verweis. Aus den Mustern sind Kapitel\u00fcberschriften, Tabellentitel und Spaltenk\u00f6pfe \u00fcbernommen, das sind Strukturangaben; Erkl\u00e4rtexte daraus nicht.<\/p>\n            <p><strong>Zu den Textbausteinen:<\/strong> Zehn Bausteine sind nach festen Regeln ausformuliert, die \u00fcbrigen Entw\u00fcrfe dieses Werkzeugs; ein Beispiel steht auf der Seite <a href=\"https:\/\/cad-kompass.de\/?p=2581\">Die d\u00fcnne AIA<\/a>. Alle sind Formulierungshilfen und keine gepr\u00fcften Rechtstexte.<\/p>\n            <p><strong>Was das Werkzeug nicht tut:<\/strong> Es vergibt keine Punkte, keine Prozente, keinen Reifegrad und keine Ampel. Es sch\u00e4tzt keinen Aufwand in Stunden oder Euro. Die AIA liest du selbst, das Werkzeug ordnet deine Antworten. Versions- und Preisangaben stehen gesammelt auf dem Blatt <a href=\"https:\/\/cad-kompass.de\/?p=2643\">Versionen und St\u00e4nde<\/a>.<\/p>\n            <p><strong>Das ersetzt keine Rechtsberatung.<\/strong> Ob eine Angabe in deinem Verfahren wirklich fehlt und was daraus folgt, h\u00e4ngt vom Einzelfall ab. Bei Ausschlussrisiko, R\u00fcge oder Nachtrag fragst du die Vergabestelle und, wenn Geld im Spiel ist, einen Fachanwalt f\u00fcr Vergaberecht.<\/p>\n            <p>Stand 09\/2026, Pr\u00fcftag der Quellen 31.07.2026, Nachpr\u00fcfungen vom 04.08.2026, Kapitelangaben gepr\u00fcft am 08.09.2026, Fundstellen und Vertragsaussagen gegengepr\u00fcft am 14.09.2026. Gespeichert wird ein Stand im Browser dieses Ger\u00e4ts.<\/p>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n    (function () {\n        'use strict';\n\n        var root = document.querySelector('[data-aia-root]');\n        if (!root) { return; }\n\n        var KEY = 'cadk_aia_lesehilfe_v1';\n        var SPITZ_AUF = String.fromCharCode(60);\n        var SPITZ_ZU = String.fromCharCode(62);\n\n        \/* ---------- Antwortskala ---------- *\/\n\n        var ANTW = [\n            { id: 'geregelt', label: 'ja' },\n            { id: 'fehlt', label: 'nein' },\n            { id: 'unklar', label: 'unklar' },\n            { id: 'nicht', label: 'betrifft mich nicht' }\n        ];\n\n        var GEWICHT = {\n            T: { label: 'grundlegend', klasse: 'aia-gew-t' },\n            W: { label: 'wichtig', klasse: '' },\n            E: { label: 'erg\u00e4nzend', klasse: '' }\n        };\n\n        \/* ---------- Neun Gruppen ---------- *\/\n\n        var GRUPPEN = [\n            { id: 'G1', kurz: 'Unterlage', titel: 'Welche Unterlage habe ich \u00fcberhaupt vor mir?' },\n            { id: 'G2', kurz: 'Anwendungsf\u00e4lle', titel: 'Was soll ich damit erreichen? Ziele und Anwendungsf\u00e4lle' },\n            { id: 'G3', kurz: 'Beistellungen', titel: 'Was bekomme ich gestellt?' },\n            { id: 'G4', kurz: 'Lieferungen', titel: 'Was liefere ich wann ab?' },\n            { id: 'G5', kurz: 'Informationsumfang', titel: 'Wie viel Information genau?' },\n            { id: 'G6', kurz: 'Rollen', titel: 'Wer macht was?' },\n            { id: 'G7', kurz: 'Pr\u00fcfung und Freigabe', titel: 'Wie wird gepr\u00fcft und freigegeben?' },\n            { id: 'G8', kurz: 'Technische Vorgaben', titel: 'Womit und in welchem Bezug?' },\n            { id: 'G9', kurz: 'Vertrag und Preis', titel: 'Was hei\u00dft das vertraglich?' }\n        ];\n\n        \/* ---------- Der Fragenkatalog ----------\n           nr, gruppe, gewicht, frage (Wortlaut), kurz (Kurzform fuers Blatt),\n           ort (wo nachsehen, aus den Musterdokumenten), deut (was die Antwort hier bedeutet). *\/\n\n        var FRAGEN = [\n            {\n                nr: '1.1', g: 'G1', gew: 'T',\n                frage: 'Ist die Fassung dieser AIA eindeutig benannt, etwa mit Nummer und Datum?',\n                kurz: 'Fassung und Datum der AIA',\n                ort: 'Deckblatt, Fu\u00df- oder Kopfzeile jeder Seite, Abschnitt \u201eDokumentenhistorie\" oder \u201eRevisionsverzeichnis\" am Anfang. Suchwort im PDF: Version, Stand, Revision'\n            },\n            {\n                nr: '1.2', g: 'G1', gew: 'T',\n                frage: 'Nennt die AIA weitere Dokumente, die mitgelten?',\n                kurz: 'Mitgeltende Dokumente benannt',\n                ort: 'Kapitel 1.1.3 \u201eDokumentenstruktur\" im Bundesmuster \u00b7 bei BIM.Hamburg Abschnitt 1.2 \u201eAIA\/BAP-Konstellation\" plus das Anlagenverzeichnis am Dokumentende \u00b7 Kapitel 10 \u201eGeltende Normen und Richtlinien\". Suchwort: Anlage, mitgeltend, Anhang',\n                deut: '\u201eja\" hei\u00dft hier: Die AIA nennt die mitgeltenden Dokumente, und die Liste ist eindeutig.'\n            },\n            {\n                nr: '1.3', g: 'G1', gew: 'T',\n                frage: 'Steht zu jedem mitgeltenden Dokument eine Fassung und ein Datum?',\n                kurz: 'Fassung und Datum je Anlage',\n                ort: 'dieselbe Stelle wie 1.2. Vorbild ist das Anlagenverzeichnis von BIM.Hamburg mit den Spalten Name, Version, Stand oder Datum, Dateiformat'\n            },\n            {\n                nr: '1.4', g: 'G1', gew: 'T',\n                frage: 'Liegen mir alle mitgeltenden Dokumente tats\u00e4chlich vor?',\n                kurz: 'Alle Anlagen liegen vor',\n                ort: 'Abgleich mit dem Vergabeordner. H\u00e4ufig fehlen Objektkatalog, Modellierungsrichtlinie, das Konzept zur Informationsbedarfstiefe und die Pr\u00fcfcheckliste'\n            },\n            {\n                nr: '1.5', g: 'G1', gew: 'W',\n                frage: 'Ist das Dokument bereinigt, also ohne farbig hinterlegte Musterhinweise und ohne Platzhalter in spitzen Klammern?',\n                kurz: 'Dokument ist bereinigt',\n                ort: 'durchbl\u00e4ttern. Farbig hinterlegte Hinweise sind nach den Regeln der Muster vor der Herausgabe zu l\u00f6schen, hinterlegte Beispieltexte haben keinen Standardcharakter; welche Farbe was bedeutet, legt jedes Muster selbst fest. Suchwort: TBD, Platzhalter, ' + SPITZ_AUF + 'Projekt' + SPITZ_ZU,\n                deut: '\u201enein\" hei\u00dft hier: Es stehen noch Musterhinweise oder Platzhalter drin, du hast also ein unfertiges Dokument vor dir.'\n            },\n\n            {\n                nr: '2.1', g: 'G2', gew: 'T',\n                frage: 'Nennt die AIA Anwendungsf\u00e4lle mit Nummer und Bezeichnung?',\n                kurz: 'Anwendungsf\u00e4lle mit Nummer benannt',\n                ort: 'Kapitel 2.2 \u201eBIM-Anwendungsf\u00e4lle\", meist als Tabelle mit einer Spalte \u201eAuswahl (X)\" \u00b7 bei BIM.Hamburg Abschnitt 2.2 mit der \u201eMatrix Projektspezifische Anwendungsf\u00e4lle\"'\n            },\n            {\n                nr: '2.2', g: 'G2', gew: 'T',\n                frage: 'Steht dabei, aus welcher Liste die Nummern stammen und in welcher Fassung?',\n                kurz: 'Herkunft und Fassung der Nummerierung',\n                ort: 'Fu\u00dfnote oder Einleitungssatz derselben Tabelle, sonst Kapitel 10. Suchwort: Anwendungsfall, AwF, standardisiert',\n                deut: 'Ist die Liste ohne Fassung genannt, ist \u201eunklar\" die ehrliche Antwort.'\n            },\n            {\n                nr: '2.3', g: 'G2', gew: 'T',\n                frage: 'Steht je Anwendungsfall, in welcher Leistungsphase er umzusetzen ist?',\n                kurz: 'Leistungsphase je Anwendungsfall',\n                ort: 'Spalte \u201eProjektphasen\" oder \u201eLeistungsphase\" derselben Tabelle'\n            },\n            {\n                nr: '2.4', g: 'G2', gew: 'T',\n                frage: 'Ist erkennbar, welche Anwendungsf\u00e4lle andere erbringen, also ein anderer Auftragnehmer oder der Auftraggeber selbst?',\n                kurz: 'Abgrenzung zu anderen Beteiligten',\n                ort: 'Einleitungstext zu Kapitel 2.2, Spalte \u201eVerantwortlich\" oder \u201eGruppierung\". Fehlt das, wei\u00dft du nicht, worauf du wartest'\n            },\n            {\n                nr: '2.5', g: 'G2', gew: 'W',\n                frage: 'Steht zu jedem Anwendungsfall, welche Entscheidung damit getroffen werden soll?',\n                kurz: 'Zweck je Anwendungsfall',\n                ort: 'Spalte \u201eDetaillierte Beschreibung der Anwendung im Projekt\". Ohne Zweckangabe l\u00e4sst sich der Umfang nicht herleiten'\n            },\n\n            {\n                nr: '3.1', g: 'G3', gew: 'T',\n                frage: 'Gibt es eine Liste dessen, was der Auftraggeber beistellt?',\n                kurz: 'Liste der Beistellungen',\n                ort: 'Kapitel 3 \u201eBereitgestellte Grundlagen\" \u00b7 bei BIM.Hamburg in den Tabellen zu Projektbereich und Grundlagen'\n            },\n            {\n                nr: '3.2', g: 'G3', gew: 'T',\n                frage: 'Steht je Beistellung ein Format und ein Termin?',\n                kurz: 'Format und Termin je Beistellung',\n                ort: 'dieselbe Tabelle, Spalten \u201eFormat\" und \u201eTermin\" beziehungsweise \u201eBereitstellung\"'\n            },\n            {\n                nr: '3.3', g: 'G3', gew: 'T',\n                frage: 'Steht je Beistellung eine Angabe zu Herkunft und Genauigkeit, besonders bei Bestands- und Spartendaten?',\n                kurz: 'Herkunft und Genauigkeit der Bestandsdaten',\n                ort: 'dieselbe Tabelle, Spalte \u201eBemerkung\", \u201eGenauigkeit\" oder \u201eQuelle\". Fehlt sie, bleibt offen, wie weit du die Bestandsdaten selbst pr\u00fcfen musst und ob das extra verg\u00fctet wird; das kl\u00e4rt der Vertrag',\n                deut: '\u201eja\" hei\u00dft hier: Zu jeder Beistellung stehen Herkunft und Erfassungsdatum, zu Bestandsdaten auch die Genauigkeit, getrennt f\u00fcr Lage und H\u00f6he. Bei Spartendaten steht an jeder H\u00f6he, ob sie gemessen oder angenommen ist. Fehlt die Trennung oder das Datum, ist \u201eunklar\" die ehrliche Antwort.'\n            },\n            {\n                nr: '3.4', g: 'G3', gew: 'T',\n                frage: 'Steht fest, wer die Gemeinsame Datenumgebung stellt, ab wann, mit wie vielen Zug\u00e4ngen und auf wessen Kosten?',\n                kurz: 'Bereitstellung der Gemeinsamen Datenumgebung',\n                deut: '\u201eja\" hei\u00dft hier: Alle vier Angaben stehen da. Fehlt eine davon, ist \u201eunklar\" die ehrliche Antwort.',\n                ort: 'Kapitel 6.1 \u201eInformationsmanagement\" oder Kapitel 9.1 \u201eGemeinsame Datenumgebung\"; in der bereichs\u00fcbergreifenden Muster-AIA hei\u00dft Kapitel 6.1 selbst \u201eGemeinsame Datenumgebung (CDE)\" \u00b7 bei BIM.Hamburg Abschnitte 4.2 und 4.4. Suchwort: CDE, Datenumgebung, Plattform, Zugang'\n            },\n\n            {\n                nr: '4.1', g: 'G4', gew: 'T',\n                frage: 'Gibt es eine Tabelle der digitalen Liefergegenst\u00e4nde?',\n                kurz: 'Tabelle der Liefergegenst\u00e4nde',\n                ort: 'Kapitel 4 \u201eDigitale Liefergegenst\u00e4nde und Lieferzeitpunkte\", in der bereichs\u00fcbergreifenden Muster-AIA \u201eDigitale Liefergegenst\u00e4nde\" \u00b7 bei BIM.Hamburg Abschnitt 2.3 \u201eLieferzeitpunkte\"'\n            },\n            {\n                nr: '4.2', g: 'G4', gew: 'T',\n                frage: 'Steht je Liefergegenstand ein Lieferzeitpunkt, also Projektphase oder Meilenstein?',\n                kurz: 'Lieferzeitpunkt je Position',\n                ort: 'Spalten \u201eProjektphase\", \u201eMeilenstein\", \u201eLieferzeitpunkt\"'\n            },\n            {\n                nr: '4.3', g: 'G4', gew: 'T',\n                frage: 'Steht je Liefergegenstand ein Datenformat?',\n                kurz: 'Datenformat je Position',\n                ort: 'Spalte \u201eDatenformat\" oder \u201eFormat\"',\n                deut: '\u201eunklar\" ist auch die ehrliche Antwort, wenn f\u00fcr den Kanal nur ein DWA-Merkblatt genannt ist, ohne Version und ohne Angabe, was das System des Betreibers einliest. Mehr dazu auf der Seite \u201eKanal kommunal\" in Themenfeld 5.'\n            },\n            {\n                nr: '4.4', g: 'G4', gew: 'T',\n                frage: 'Steht je Liefergegenstand ein Empf\u00e4nger?',\n                kurz: 'Empf\u00e4nger je Position',\n                ort: 'Spalte \u201eEmpf\u00e4nger\", \u201eAbsender und Empf\u00e4nger\", \u201eDatenbereitsteller\" oder \u201eVerantwortlich\". Diese Spalte fehlt am h\u00e4ufigsten'\n            },\n            {\n                nr: '4.5', g: 'G4', gew: 'T',\n                frage: 'Steht je Liefergegenstand ein Zustand in der Datenumgebung, den die Lieferung zum Termin haben muss?',\n                kurz: 'Zustand in der Datenumgebung',\n                ort: 'Spalte \u201eOrdner\/Status CDE\" oder \u201eStatus\". Achtung: Bei manchen Auftraggebern meint die Spalte \u201eStatus\" die Modellart und nicht den Zustand'\n            },\n\n            {\n                nr: '5.1', g: 'G5', gew: 'T',\n                frage: 'Gibt es einen eigenen Anhang zur Informationsbedarfstiefe?',\n                kurz: 'Anhang zur Informationsbedarfstiefe',\n                ort: 'Anhang B \u201eLOIN-Anhang\", in der bereichs\u00fcbergreifenden Muster-AIA ohne Buchstaben schlicht \u201eAnhang: LOIN-Anhang\" \u00b7 Kapitel 8.2 \u201eInformationsbedarfstiefe\" beziehungsweise 8.2.2 \u201eInformationsbedarfstiefe (LOIN)\" \u00b7 bei BIM.Hamburg Abschnitt 6.4 plus Anlagen. Suchwort: LOIN, LOI, LOG, Informationsbedarfstiefe'\n            },\n            {\n                nr: '5.2', g: 'G5', gew: 'W',\n                frage: 'Trennt der Anhang geometrische von alphanumerischer Anforderung?',\n                frageAlt: 'Steht die Anforderung stattdessen im Flie\u00dftext von Kapitel 8, getrennt nach Geometrie und Merkmalen?',\n                kurz: 'Geometrie und Merkmale getrennt',\n                ort: 'Spalten\u00fcberschriften \u201eGeometrische Detailtiefe (LOG)\" und \u201eInformationstiefe (LOI)\"'\n            },\n            {\n                nr: '5.3', g: 'G5', gew: 'T',\n                frage: 'Gibt es je Bauteiltyp eine benannte Merkmalsliste?',\n                frageAlt: 'Steht die Merkmalsliste stattdessen im Flie\u00dftext von Kapitel 8?',\n                kurz: 'Benannte Merkmalsliste je Bauteiltyp',\n                ort: 'Zeilen des Anhangs. Eine Merkmalsliste kannst du abz\u00e4hlen und abhaken, eine Stufenzahl nicht',\n                deut: 'Steht statt einer Merkmalsliste nur eine Stufenzahl da, ist \u201eunklar\" die ehrliche Antwort.'\n            },\n            {\n                nr: '5.4', g: 'G5', gew: 'T',\n                frage: 'Nennt die AIA den Merkmalskatalog, aus dem die Merkmalsnamen stammen, mit Version?',\n                kurz: 'Merkmalskatalog mit Version benannt',\n                deut: 'Ist der Katalog ohne Version genannt, ist \u201eunklar\" die ehrliche Antwort.',\n                ort: 'Kopf des Anhangs zur Informationsbedarfstiefe, Kapitel 8.2.3 \u201eKlassifikation\" oder Kapitel 10. Suchwort: Merkmal, Objektkatalog, Katalog'\n            },\n            {\n                nr: '5.5', g: 'G5', gew: 'E',\n                frage: 'Nennt die AIA die Norm zur Informationsbedarfstiefe in ihrer aktuellen Ausgabe?',\n                kurz: 'Normbezug zur Informationsbedarfstiefe',\n                ort: 'Kapitel 10 \u201eGeltende Normen und Richtlinien\". Die meisten Muster nennen noch DIN EN 17412-1; DIN f\u00fchrt diese Ausgabe als zur\u00fcckgezogen, an ihre Stelle ist DIN EN ISO 7817-1 getreten',\n                deut: 'Nennt die AIA noch die \u00e4ltere Ausgabe, ist \u201enein\" richtig. Das ist kein Fehler der AIA, sondern ein Dokument aus der Zeit davor, und der Gegenstand ist derselbe. Dann lohnt eine kurze R\u00fcckfrage, welche Ausgabe gelten soll. Nennt sie gar keine Norm, w\u00e4hle \u201ebetrifft mich nicht\".'\n            },\n            {\n                nr: '5.6', g: 'G5', gew: 'T',\n                frage: 'Steht je Anwendungsfall, welche Auspr\u00e4gungstiefe des Regelprozesses des Bundes gilt?',\n                kurz: 'Auspr\u00e4gungstiefe je Anwendungsfall',\n                ort: 'bei den Anwendungsf\u00e4llen aus 2.1 oder dort, wo die AIA das Rahmendokument des Bundes zu den Anwendungsf\u00e4llen nennt. Suchwort: Auspr\u00e4gungstiefe, Regelprozess, Steckbrief',\n                deut: '\u201eja\" hei\u00dft hier: Zu jedem Anwendungsfall steht, ob Auspr\u00e4gungstiefe I oder II gilt. Nennt die AIA den Regelprozess des Bundes nicht, w\u00e4hle \u201ebetrifft mich nicht\". Die Auspr\u00e4gungstiefe II setzt eingef\u00fchrte Standards und Werkzeuge voraus; was davon im B\u00fcro fehlt, muss eingef\u00fchrt, geschult oder angeschafft werden und geh\u00f6rt in die Kalkulation.'\n            },\n\n            {\n                nr: '6.1', g: 'G6', gew: 'T',\n                frage: 'Nennt die AIA die geforderten BIM-Rollen, und steht dabei, welche davon mein B\u00fcro besetzen soll?',\n                kurz: 'Rollen benannt und zugeordnet',\n                ort: 'Kapitel 5 \u201eOrganisation und Rollen\", meist mit Organigramm \u00b7 bei BIM.Hamburg Kapitel 3 \u201eRollen und Verantwortlichkeiten\"'\n            },\n            {\n                nr: '6.2', g: 'G6', gew: 'T', neinOk: true,\n                frage: 'Verlangt die AIA oder der Muster-BAP eine benannte Vertretung je Rolle?',\n                kurz: 'Benannte Vertretung je Rolle gefordert',\n                ort: 'derselbe Abschnitt, Tabellenspalte \u201eStellvertretung\". Suchwort: Stellvertret, Vertretung, Abwesenheit',\n                deut: '\u201eja\" hei\u00dft hier: Die Forderung steht ausdr\u00fccklich drin. Genau dann lohnt die R\u00fcckfrage, ob ein B\u00fcro deiner Gr\u00f6\u00dfe sie erf\u00fcllen kann. \u201enein\" ist hier keine L\u00fccke.'\n            },\n            {\n                nr: '6.3', g: 'G6', gew: 'W', neinOk: true,\n                frage: 'Verlangt die AIA das Vier-Augen-Prinzip oder die Trennung bestimmter Rollen?',\n                kurz: 'Rollentrennung gefordert',\n                ort: 'derselbe Abschnitt. Suchwort: Vier-Augen, Personalunion, dieselbe Person',\n                deut: '\u201eja\" hei\u00dft hier: Die Trennung ist ausdr\u00fccklich gefordert. \u201enein\" ist hier keine L\u00fccke.'\n            },\n            {\n                nr: '6.4', g: 'G6', gew: 'W',\n                frage: 'Ist auf Auftraggeberseite ein Ansprechpartner f\u00fcr die Informationslieferung benannt?',\n                kurz: 'Ansprechpartner beim Auftraggeber',\n                ort: 'Kapitel 5, Organigramm oder Kontakttabelle. Mindestens eine Funktion, besser ein Name'\n            },\n\n            {\n                nr: '7.1', g: 'G7', gew: 'T',\n                frage: 'Steht fest, wer die Fachmodelle pr\u00fcft, wer das Koordinationsmodell und wer freigibt?',\n                kurz: 'Pr\u00fcf- und Freigabezust\u00e4ndigkeit',\n                ort: 'Kapitel 7 \u201eQualit\u00e4tssicherung\", im Rahmendokument und bei der DEGES Unterkapitel 7.1 (Auftragnehmer) und 7.2 (\u00dcberpr\u00fcfung und Freigabe durch den Auftraggeber), in der bereichs\u00fcbergreifenden Muster-AIA 7.4 \u201e\u00dcberpr\u00fcfung und Freigabe des AG\" \u00b7 bei BIM.Hamburg Kapitel 5'\n            },\n            {\n                nr: '7.2', g: 'G7', gew: 'W',\n                frage: 'Steht fest, in welchem Takt gepr\u00fcft wird?',\n                kurz: 'Pr\u00fcftakt',\n                ort: 'dieselbe Stelle plus Kapitel 6 \u201eStrategie der Zusammenarbeit\", Stichwort Planungsbesprechung'\n            },\n            {\n                nr: '7.3', g: 'G7', gew: 'T',\n                frage: 'Gibt es eine Frist, innerhalb derer der Auftraggeber pr\u00fcft und freigibt?',\n                kurz: 'Pr\u00fcf- und Freigabefrist',\n                ort: 'Kapitel 7.2, im Rahmendokument und bei der DEGES; in der bereichs\u00fcbergreifenden Muster-AIA 7.4 \u201e\u00dcberpr\u00fcfung und Freigabe des AG\". Suchwort: Frist, Arbeitstage, Werktage, innerhalb. Fehlt sie, h\u00e4ngt dein eigener Terminplan an einer offenen Gr\u00f6\u00dfe'\n            },\n            {\n                nr: '7.4', g: 'G7', gew: 'T',\n                frage: 'Steht fest, was bei Nichtfreigabe passiert und wer den Aufwand der Nacharbeit tr\u00e4gt?',\n                kurz: 'Folge der Nichtfreigabe',\n                ort: 'Kapitel 7.2, im Rahmendokument und bei der DEGES, oft nur ein Halbsatz; in der bereichs\u00fcbergreifenden Muster-AIA 7.4 \u201e\u00dcberpr\u00fcfung und Freigabe des AG\". Suchwort: Mangel, Nachbesserung, erneute Pr\u00fcfung'\n            },\n            {\n                nr: '7.5', g: 'G7', gew: 'W',\n                frage: 'Ist ein Testlauf vor dem ersten echten Daten\u00fcbergabepunkt vorgesehen?',\n                kurz: 'Testlauf vorgesehen',\n                ort: 'Kapitel 9.4 \u201eVorgaben zum Testlauf\", in der bereichs\u00fcbergreifenden Muster-AIA Abschnitt 6.2.4 unter der BIM-Koordination \u00b7 bei BIM.Hamburg Abschnitt 4.5 \u201eBIM-Testphase\". Suchwort: Testlauf, Testphase, Testmodell'\n            },\n\n            {\n                nr: '8.1', g: 'G8', gew: 'T',\n                frage: 'Nennt die AIA, welche Austauschformate Pflicht sind, jeweils mit Version?',\n                kurz: 'Austauschformat mit Versionsangabe',\n                ort: 'Kapitel 9.3 \u201eDatenaustauschformate\"; in der bereichs\u00fcbergreifenden Muster-AIA gibt es daf\u00fcr kein eigenes Kapitel, dort steht das Format als Spalte in der Tabelle der digitalen Liefergegenst\u00e4nde (Kapitel 4) \u00b7 bei BIM.Hamburg Kapitel 7',\n                deut: '\u201eunklar\" ist der h\u00e4ufigste Fall: Der Formatname steht da, die Schemaversion nicht.'\n            },\n            {\n                nr: '8.2', g: 'G8', gew: 'T', neinOk: true,\n                frage: 'Fordert die AIA zus\u00e4tzlich ein natives Format?',\n                kurz: 'Native Lieferung gefordert',\n                ort: 'dieselbe Stelle. Die Bundesmuster erlauben die zus\u00e4tzliche Forderung ausdr\u00fccklich, verbieten aber, ausschlie\u00dflich native Formate zu verlangen',\n                deut: 'Ob die native Lieferung Vertragssoll oder Option ist, fragt die Folgefrage, die bei \u201eja\" erscheint. Fordert die AIA kein natives Format, ist \u201enein\" richtig, und das ist keine L\u00fccke.'\n            },\n            {\n                nr: '8.3', g: 'G8', gew: 'T', neinOk: true,\n                frage: 'Nennt die AIA eine Software namentlich?',\n                kurz: 'Software namentlich genannt',\n                ort: 'Kapitel 9.2 \u201eSoftwarewerkzeuge und Lizenzen\" mit 9.2.1 Planungssoftware und 9.2.2 Visualisierungs- und Pr\u00fcfsoftware; in der bereichs\u00fcbergreifenden Muster-AIA Kapitel 9.1 ohne Unterkapitel, die Softwarebeschreibung im projektunabh\u00e4ngigen Teil 2',\n                deut: '\u201eja\" hei\u00dft hier: Mindestens ein Produkt ist genannt, als Vorgabe oder als Beispiel. Die Folgefrage kl\u00e4rt dann, ob dein B\u00fcro es hat. Nennt die AIA gar kein Produkt, ist \u201enein\" richtig, und das ist keine L\u00fccke.'\n            },\n            {\n                nr: '8.4', g: 'G8', gew: 'T',\n                frage: 'Liegen mir die Pr\u00fcfregeln oder die Pr\u00fcfcheckliste vor, gegen die gepr\u00fcft wird?',\n                kurz: 'Pr\u00fcfkriterien liegen vor',\n                ort: 'Kapitel 7 plus Anlagenverzeichnis. Suchwort: Pr\u00fcfregel, Checkliste, IDS, Pr\u00fcfkriterien'\n            },\n            {\n                nr: '8.5', g: 'G8', gew: 'T',\n                frage: 'Nennt die AIA das Lage- und H\u00f6henbezugssystem und die Stufe der Georeferenzierung f\u00fcr die Lieferung?',\n                kurz: 'Lage- und H\u00f6henbezugssystem',\n                deut: 'Fehlt eine der drei Angaben, also Lagesystem, H\u00f6hensystem oder Stufe der Georeferenzierung, ist \u201eunklar\" die ehrliche Antwort.',\n                ort: 'Kapitel 8.3 \u201eKoordinatensysteme\" beziehungsweise \u201eGeoreferenz, Transformationen, Koordinatensysteme\" \u00b7 bei BIM.Hamburg Abschnitt 6.6'\n            },\n            {\n                nr: '8.6', g: 'G8', gew: 'W',\n                frage: 'Regelt die AIA den Projektnullpunkt ausdr\u00fccklich?',\n                kurz: 'Festlegung des Projektnullpunkts',\n                ort: 'dieselbe Stelle wie 8.5. Suchwort: Projektnullpunkt, Nullpunkt, Ursprung, Transformation',\n                deut: '\u201eja\" hei\u00dft hier: Der Projektnullpunkt, also der Punkt, auf den sich die Modellkoordinaten beziehen, ist vorgegeben, oder die AIA sagt ausdr\u00fccklich, dass du ihn im Abwicklungsplan festlegst. Auch \u201egeplant wird direkt im Landes- oder Stadtsystem, ohne Projektnullpunkt\" z\u00e4hlt als \u201eja\"; manche Kommunen machen es im Tiefbau so. Was in den Abwicklungsplan geh\u00f6rt, steht auf der Seite \u201eWo das Modell liegt\" in Themenfeld 3.'\n            },\n            {\n                nr: '8.7', g: 'G8', gew: 'W',\n                frage: 'Steht ausdr\u00fccklich da, ob der Auftraggeber ein Referenz- oder Mastermodell bereitstellt, auf das du deine Modelle beziehst, und wenn ja, in welchem Format und mit welchem Stand?',\n                kurz: 'Aussage zum Referenz- oder Mastermodell',\n                ort: 'Liste der Beistellungen aus 3.1, sonst dieselbe Stelle wie 8.5. Suchwort: Referenzmodell, Mastermodell, Master-Modell, Referenzdatei',\n                deut: 'Auch \u201eder Auftraggeber stellt keines\" z\u00e4hlt als \u201eja\".'\n            },\n            {\n                nr: '8.8', g: 'G8', gew: 'T',\n                frage: 'Steht beim IFC-Format, welche Modellsicht gilt und in welchem Umfang die Achse geliefert wird?',\n                kurz: 'Modellsicht und Umfang der Achse',\n                ort: 'dieselbe Stelle wie 8.1, sonst die Tabelle der Liefergegenst\u00e4nde aus 4.1. Suchwort: Modellsicht, ReferenceView, Alignment, Achse, Trassierung',\n                deut: '\u201eja\" hei\u00dft hier: Die Modellsicht ist genannt, und es steht dabei, ob die Achse mit Lageplan und H\u00f6henentwicklung kommt oder nur als Objekt. Im kleineren Umfang fehlen diese Teile, und die Trassierung l\u00e4sst sich aus der Achse nicht zur\u00fcckrechnen. Fordert die AIA kein IFC, w\u00e4hle \u201ebetrifft mich nicht\". Mehr dazu auf der Seite \u201eIFC im Tiefbau\" in Themenfeld 5.'\n            },\n            {\n                nr: '8.9', g: 'G8', gew: 'W',\n                frage: 'Legt die AIA fest, wie Dateien gekennzeichnet werden, mit Feldliste und Trennzeichen?',\n                kurz: 'Kennung der Dateien',\n                ort: 'Abschnitt zur Gemeinsamen Datenumgebung aus 3.4. Suchwort: Kennung, Dateiname, Namenskonvention, Trennzeichen',\n                deut: '\u201eja\" hei\u00dft hier: Feldliste und Trennzeichen stehen da, oder die AIA erlaubt ausdr\u00fccklich eine eigene Konvention, die du im Abwicklungsplan vorschl\u00e4gst. Gibt ein Auftraggeber eine Konvention vor, gilt seine.'\n            },\n            {\n                nr: '8.10', g: 'G8', gew: 'W',\n                frage: 'Legt die AIA fest, wie Objekte im Modell benannt werden?',\n                kurz: 'Benennung der Objekte',\n                ort: 'eine Modellierungsrichtlinie in den Anlagen oder der Abschnitt zu den Modellinhalten. Suchwort: Benennung, Objektname, Namenskonvention, Bezeichnung',\n                deut: '\u201eja\" hei\u00dft hier: F\u00fcr die Objekte steht eine Benennungsregel oder der Verweis auf die Regel eines Betreibers. Beim Kanal kann eine Benennungsregel des Betreibers dazukommen; mehr dazu auf der Seite \u201eKanal kommunal\" in Themenfeld 5.'\n            },\n\n            {\n                nr: '9.1', g: 'G9', gew: 'T',\n                frage: 'Steht in der AIA, dass sie Vertragsbestandteil wird und dass ihre Anpassung eine Vertrags\u00e4nderung ist?',\n                kurz: 'AIA als Vertragsbestandteil',\n                ort: 'Kapitel 1.1.1 oder Einleitung. Suchwort: Vertragsbestandteil, Vertrags\u00e4nderung'\n            },\n            {\n                nr: '9.2', g: 'G9', gew: 'T',\n                frage: 'Sind die Nutzungsrechte einzeln geregelt?',\n                kurz: 'Regelung zu den Nutzungsrechten',\n                ort: 'zuerst im Kapitel Datensicherheit nachsehen, meist 9.5 oder 9.2, zwischen Datenschutz und Normenliste. Suchwort: Nutzungsrecht, Urheber, Rechte',\n                deut: '\u201eja\" hei\u00dft hier: Die Nutzungsrechte sind einzeln benannt, also Art des Rechts, Zweck, Bearbeitung und Weitergabe an Dritte. Steht nur ein pauschaler Satz, ist \u201eunklar\" die ehrliche Antwort, denn dann bleibt auch offen, ob das native Modell gemeint ist.'\n            },\n            {\n                nr: '9.3', g: 'G9', gew: 'T',\n                frage: 'Gibt es eine Rangfolge der Vertragsunterlagen, die sagt, welche Unterlage bei Widerspruch gilt?',\n                kurz: 'Rangfolge der Vertragsunterlagen',\n                ort: 'Kapitel 1, sonst in den Besonderen Vertragsbedingungen. Suchwort: Rangfolge, Vorrang, ma\u00dfgeblich, im Zweifel',\n                deut: '\u201eja\" hei\u00dft hier: Die Rangfolge steht da und sie ist vollst\u00e4ndig. Sie ordnet die Vertragsunterlagen, also die Papiere, die sagen, was du schuldest. Sie ordnet nicht deine Ergebnisse. Welches Ergebnis bei Widerspruch gilt, fragt 9.5.'\n            },\n            {\n                nr: '9.4', g: 'G9', gew: 'T', neinOk: true,\n                frage: 'Verlangt die AIA mit dem Angebot einen vorl\u00e4ufigen BAP?',\n                kurz: 'Vorl\u00e4ufiger BAP mit dem Angebot',\n                ort: 'Kapitel 1.1.2 \u201eBIM-Abwicklungsplan\" \u00b7 bei BIM.Hamburg Abschnitt 1.2 \u201eAIA\/BAP-Konstellation\". Suchwort: Vor-BAP, Angebots-BAP, Version 0, Konzept-BAP',\n                deut: 'Steht nicht eindeutig da, ob einer einzureichen ist, ist \u201eunklar\" die ehrliche Antwort. Verlangt die AIA keinen, ist \u201enein\" richtig, und das ist keine L\u00fccke.'\n            },\n            {\n                nr: '9.5', g: 'G9', gew: 'T',\n                frage: 'Steht irgendwo, welches deiner eigenen Ergebnisse gilt, wenn dein Modell und der daraus abgeleitete Plan auseinanderlaufen?',\n                kurz: 'Vorrang Modell gegen abgeleiteten Plan',\n                ort: 'In der AIA selten. Zuerst in den Besonderen Vertragsbedingungen und in der Leistungsbeschreibung suchen, dort meist im Abschnitt zur Zurverf\u00fcgungstellung von Daten. Suchwort: Vorrang, gehen vor, ma\u00dfgeblich, widerspruchsfrei, Planableitung',\n                deut: '\u201eja\" hei\u00dft hier: Es steht ausdr\u00fccklich dabei, welches deiner Ergebnisse im Widerspruchsfall gilt. Vorsicht bei drei Regelungen, die danach aussehen und es nicht sind: die Rangfolge der Vertragsunterlagen aus 9.3 ordnet Papiere und keine Ergebnisse, der Vorrang des \u00fcbergebenen Modells betrifft nur Daten, die du bekommst, und die Pflicht zur widerspruchsfreien Darstellung verteilt das Risiko, statt den Vorrang zu regeln. Findest du nur die Pflicht, beide Ergebnisse zu liefern, ist \u201enein\" die ehrliche Antwort.'\n            },\n            {\n                nr: '9.6', g: 'G9', gew: 'T',\n                frage: 'L\u00e4sst das Preisformblatt zu, die BIM-Leistung aufzugliedern?',\n                kurz: 'Aufgliederung im Preisformblatt',\n                ort: 'nicht in der AIA, sondern im Preisformblatt der Vergabeunterlagen. Suchwort: BIM-Leistungen, Position, Pauschale',\n                deut: '\u201eja\" hei\u00dft hier: Das Preisformblatt f\u00fchrt die BIM-Leistung in eigenen Positionen, l\u00e4sst eine Aufgliederung zu, oder die eine Zeile verweist auf einen eindeutig beschriebenen Umfang. Steht dort nur eine Zeile ohne diesen Bezug, ist \u201enein\" richtig, weil du die Summe dann nicht Posten f\u00fcr Posten belegen kannst. Das gilt auch, wenn BIM im Preisformblatt gar nicht auftaucht. Wie man die Leistung rechnet, steht auf der Seite \u201eWas die BIM-Leistung kostet\" dieses Themenfelds.'\n            }\n        ];\n\n        \/* ---------- Folgefragen ----------\n           Drei Stueck: die beiden Auswahlfragen 8.2a und 8.3a mit je drei Optionen und das Zahlenfeld\n           1.2n, das direkt bei der Frage steht. *\/\n\n        var FOLGE_82A = [\n            { id: 'soll', label: 'Vertragssoll' },\n            { id: 'option', label: 'Option' },\n            { id: 'keine', label: 'steht nicht dabei' }\n        ];\n        var FOLGE_83A = [\n            { id: 'ja', label: 'ja' },\n            { id: 'nein', label: 'nein' },\n            { id: 'test', label: 'Testversion vorhanden' }\n        ];\n\n        \/* ---------- Textbausteine fuer die Bieterfragen ----------\n           quelle: 't02' kennzeichnet einen nach festen Regeln ausformulierten Baustein, sonst ist der Baustein ein Entwurf\n           dieses Werkzeugs. BF-03 bis BF-05 und BF-10 mit BF-11 sind je zu einem Baustein gebuendelt. *\/\n\n        var BAUSTEINE = [\n            {\n                kenn: 'BF-01',\n                anlass: 'Mitgeltende Dokumente ohne Fassungsangabe',\n                text: 'Die AIA verweist auf [Dokument] ohne Angabe des Ausgabestands. Bitte nennen Sie Fassung und Datum der mitgeltenden Dokumente und stellen Sie sie mit den Vergabeunterlagen bereit.',\n                quelle: 't02',\n                regeln: [\n                    { q: '1.2', wenn: ['fehlt', 'unklar'] },\n                    { q: '1.3', wenn: ['fehlt', 'unklar'] },\n                    { q: '1.4', wenn: ['fehlt', 'unklar'] }\n                ],\n                anpassung: [\n                    { q: '1.2', wenn: ['fehlt'], text: 'Nennt deine AIA gar keine weiteren Dokumente, streichst du den ersten Satz und fragst stattdessen, ob au\u00dfer der AIA weitere Unterlagen mitgelten.' }\n                ]\n            },\n            {\n                kenn: 'BF-02',\n                anlass: 'Fassung der AIA nicht erkennbar',\n                text: 'Bitte best\u00e4tigen Sie, welche Fassung der AIA mit welchem Datum Vertragsgrundlage wird.',\n                quelle: 'entwurf',\n                regeln: [ { q: '1.1', wenn: ['fehlt'] } ]\n            },\n            {\n                kenn: 'BF-03 \u00b7 BF-04 \u00b7 BF-05',\n                anlass: 'Anwendungsf\u00e4lle fehlen oder sind nicht zugeordnet',\n                text: 'Die AIA benennt die BIM-Anwendungsf\u00e4lle nicht abschlie\u00dfend. Bitte teilen Sie mit, welche Anwendungsf\u00e4lle in welcher Leistungsphase vom Auftragnehmer zu erbringen sind und welche davon andere Beteiligte erbringen.',\n                quelle: 't02',\n                regeln: [\n                    { q: '2.1', wenn: ['fehlt', 'unklar'] },\n                    { q: '2.2', wenn: ['fehlt', 'unklar'] },\n                    { q: '2.3', wenn: ['fehlt'] },\n                    { q: '2.4', wenn: ['fehlt'] }\n                ]\n            },\n            {\n                kenn: 'BF-06',\n                anlass: 'Bereitgestellte Grundlagen unvollst\u00e4ndig beschrieben',\n                text: 'Kapitel [Kapitel] listet die bereitgestellten Grundlagen ohne vollst\u00e4ndige Angaben. Bitte benennen Sie je Position Format, Termin, Herkunft, Erfassungsdatum und Genauigkeit, die Genauigkeit getrennt nach Lage und H\u00f6he.',\n                quelle: 'entwurf',\n                note: 'Bei Spartendaten stellst du in einem eigenen Formularfeld die Frage: \u201eSind die H\u00f6henangaben der Spartendaten gemessen oder aus einer Regelverlegetiefe angenommen?\"',\n                regeln: [\n                    { q: '3.1', wenn: ['fehlt', 'unklar'] },\n                    { q: '3.2', wenn: ['fehlt', 'unklar'] },\n                    { q: '3.3', wenn: ['fehlt', 'unklar'] }\n                ]\n            },\n            {\n                kenn: 'BF-07',\n                anlass: 'Gemeinsame Datenumgebung unklar',\n                text: 'Bitte teilen Sie mit, wer die Gemeinsame Datenumgebung stellt und betreibt, wie viele Zug\u00e4nge dem Auftragnehmer zur Verf\u00fcgung stehen und wer die Kosten f\u00fcr Lizenzen und Zug\u00e4nge tr\u00e4gt.',\n                quelle: 't02',\n                regeln: [ { q: '3.4', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-08',\n                anlass: 'Liefergegenst\u00e4nde ohne Zeitpunkt oder Format',\n                text: 'Bitte erg\u00e4nzen Sie die \u00dcbersicht der digitalen Liefergegenst\u00e4nde um Lieferzeitpunkt und Datenformat je Position.',\n                quelle: 'entwurf',\n                regeln: [\n                    { q: '4.1', wenn: ['fehlt', 'unklar'] },\n                    { q: '4.2', wenn: ['fehlt', 'unklar'] },\n                    { q: '4.3', wenn: ['fehlt', 'unklar'] }\n                ],\n                note: 'Nennt deine Unterlage f\u00fcr den Kanal nur ein Merkblatt, fragst du in einem eigenen Formularfeld: \u201eDie Leistungsbeschreibung nennt in [Kapitel] f\u00fcr die Kanaldaten das Merkblatt [Merkblatt]. Bitte teilen Sie mit, welches Austauschformat in welcher Version das System des Betreibers einliest.\"'\n            },\n            {\n                kenn: 'BF-09',\n                anlass: 'Empf\u00e4nger und Zustand der Lieferung offen',\n                text: 'Bitte geben Sie je Daten\u00fcbergabepunkt an, an wen geliefert wird und welchen Zustand die Lieferung in der Gemeinsamen Datenumgebung zum Termin haben muss.',\n                quelle: 'entwurf',\n                regeln: [\n                    { q: '4.4', wenn: ['fehlt'] },\n                    { q: '4.5', wenn: ['fehlt'] }\n                ]\n            },\n            {\n                kenn: 'BF-10 \u00b7 BF-11',\n                anlass: 'Informationsbedarfstiefe ohne Merkmalsliste',\n                text: 'Die AIA nennt eine Informationsbedarfstiefe, ohne die geforderten Merkmale je Bauteiltyp aufzuf\u00fchren. Bitte stellen Sie die Merkmalsliste je Bauteiltyp und Leistungsphase als Anlage bereit oder best\u00e4tigen Sie, dass der B\u00fcrostandard des Auftragnehmers ma\u00dfgeblich ist.',\n                quelle: 't02',\n                regeln: [\n                    { q: '5.3', wenn: ['fehlt', 'unklar'] },\n                    { q: '5.4', wenn: ['fehlt', 'unklar'] }\n                ],\n                anpassung: [\n                    { q: '5.4', wenn: ['fehlt', 'unklar'], text: 'Weil auch der Merkmalskatalog offen ist, h\u00e4ngst du einen Satz an: Bitte benennen Sie den Merkmalskatalog, aus dem die geforderten Merkmale stammen, mit Versionsangabe.' }\n                ]\n            },\n            {\n                kenn: 'BF-12',\n                anlass: 'Normausgabe zur Informationsbedarfstiefe \u00fcberholt',\n                text: 'Die AIA verweist auf eine Normausgabe zur Informationsbedarfstiefe, die zwischenzeitlich ersetzt wurde. Bitte best\u00e4tigen Sie, welche Ausgabe f\u00fcr dieses Projekt gilt.',\n                quelle: 'entwurf',\n                regeln: [ { q: '5.5', wenn: ['fehlt', 'unklar'] } ],\n                anpassung: [\n                    { q: '5.5', wenn: ['unklar'], text: 'Ist nur nicht erkennbar, welche Ausgabe gemeint ist, streichst du den ersten Satz und fragst nur, welche Ausgabe f\u00fcr dieses Projekt gilt.' }\n                ],\n                note: 'Das ist eine Klarstellungsfrage. Eine AIA, die noch die \u00e4ltere Ausgabe nennt, ist deshalb nicht falsch.'\n            },\n            {\n                kenn: 'BF-26',\n                anlass: 'Auspr\u00e4gungstiefe nicht genannt',\n                text: 'Die AIA verweist in [Kapitel] auf den Regelprozess des Bundes, ohne je Anwendungsfall die Auspr\u00e4gungstiefe zu nennen. Bitte teilen Sie mit, ob f\u00fcr die geforderten Anwendungsf\u00e4lle Auspr\u00e4gungstiefe I oder II gilt.',\n                quelle: 'entwurf',\n                regeln: [ { q: '5.6', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-13',\n                anlass: 'Rollen und Ansprechpartner unklar',\n                text: 'Bitte benennen Sie die vom Auftragnehmer zu besetzenden BIM-Rollen sowie den Ansprechpartner auf Auftraggeberseite f\u00fcr die Informationslieferung.',\n                quelle: 'entwurf',\n                regeln: [\n                    { q: '6.1', wenn: ['fehlt', 'unklar'] },\n                    { q: '6.4', wenn: ['fehlt', 'unklar'] }\n                ]\n            },\n            {\n                kenn: 'BF-14',\n                anlass: 'Rollentrennung im kleinen B\u00fcro',\n                text: 'Bitte best\u00e4tigen Sie, ob die geforderte Trennung der Rollen auch bei einem B\u00fcro unserer Gr\u00f6\u00dfe durch eine dokumentierte Vier-Augen-Pr\u00fcfung erf\u00fcllt werden kann.',\n                quelle: 'entwurf',\n                art: 'rueckfrage',\n                regeln: [ { q: '6.3', wenn: ['geregelt'] } ],\n                note: 'Diese Frage entsteht nicht aus einer L\u00fccke, sondern aus einer klar geregelten Forderung. Stell sie nur, wenn dein B\u00fcro die geforderte Trennung nicht ohne Weiteres abbilden kann.'\n            },\n            {\n                kenn: 'BF-33',\n                anlass: 'Vertretung je Rolle im kleinen B\u00fcro',\n                text: 'Bitte best\u00e4tigen Sie, ob die geforderte Vertretung je BIM-Rolle auch durch eine Person erf\u00fcllt werden kann, die im Projekt zugleich eine andere Rolle innehat.',\n                quelle: 'entwurf',\n                art: 'rueckfrage',\n                regeln: [ { q: '6.2', wenn: ['geregelt'] } ],\n                note: 'Auch diese Frage entsteht aus einer klar geregelten Forderung. Stell sie nur, wenn dein B\u00fcro nicht f\u00fcr jede Rolle eine eigene Vertretung stellen kann.'\n            },\n            {\n                kenn: 'BF-15',\n                anlass: 'Pr\u00fcf- und Freigabefristen fehlen',\n                text: 'Die AIA benennt keine Fristen f\u00fcr Pr\u00fcfung und Freigabe durch den Auftraggeber. Bitte geben Sie je Lieferzeitpunkt die Pr\u00fcffrist sowie die Zahl der vorgesehenen Pr\u00fcfschleifen an.',\n                quelle: 't02',\n                regeln: [ { q: '7.3', wenn: ['fehlt'] } ],\n                note: 'Eine Pr\u00fcffrist des Auftraggebers ist selten, aber es gibt sie. Die Muster-Vertragsbedingungen BIM aus BIM4INFRA2020 Teil 5 (Stand April 2019) r\u00e4umen dem Auftraggeber in \u00a7 7 Abs. 2 vor der Abnahme mindestens 14 Tage ab Modell\u00fcbergabe zur Pr\u00fcfung ein. In den gepr\u00fcften Muster-BAP stand keine. Das ist eine Zahl, auf die du dich in der Bieterfrage beziehen kannst, wenn in deinen Unterlagen gar nichts steht; verbindlich ist sie nur, wenn der Vertrag diese Vertragsbedingungen einbezieht. Achtung, die Richtung: Die 14 Tage sind eine Mindestfrist f\u00fcr den Auftraggeber vor der Abnahme, kein Versprechen einer schnellen R\u00fcckmeldung, und sie gelten der Abnahme, nicht jedem \u00dcbergabepunkt. Die bayerische Fassung des Formblatts hat den Satz nicht \u00fcbernommen.'\n            },\n            {\n                kenn: 'BF-34',\n                anlass: 'Folge der Nichtfreigabe offen',\n                text: 'Die AIA regelt in [Kapitel] nicht, was bei einer Nichtfreigabe geschieht. Bitte teilen Sie mit, wer den Aufwand der Nacharbeit und der erneuten Pr\u00fcfung tr\u00e4gt.',\n                quelle: 'entwurf',\n                regeln: [ { q: '7.4', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-16',\n                anlass: 'Kein Testlauf vorgesehen',\n                text: 'Wir schlagen einen Testlauf vor dem ersten vertraglichen Daten\u00fcbergabepunkt vor. Bitte best\u00e4tigen Sie Termin und Umfang.',\n                quelle: 'entwurf',\n                regeln: [ { q: '7.5', wenn: ['fehlt'] } ]\n            },\n            {\n                kenn: 'BF-17',\n                anlass: 'Austauschformat ohne Versionsangabe',\n                text: 'Als Austauschformat ist IFC genannt, ohne Angabe der Schemaversion. Bitte geben Sie die geforderte Version an sowie, falls gefordert, das zu verwendende Austauschprofil.',\n                quelle: 't02',\n                regeln: [ { q: '8.1', wenn: ['fehlt', 'unklar'] } ],\n                folgeRegeln: [ { f: '8.2a', wenn: ['keine'] } ],\n                anpassung: [\n                    { q: '8.1', wenn: ['fehlt'], text: 'Weil in deiner AIA gar kein Format genannt ist, streichst du den ersten Satz und fragst stattdessen, welches Austauschformat in welcher Version je Liefergegenstand geschuldet ist.' },\n                    { f: '8.2a', wenn: ['keine'], text: 'Die Frage nach der nativen Lieferung stellst du in einem eigenen Formularfeld: Bitte geben Sie an, ob eine zus\u00e4tzliche Lieferung im nativen Format Vertragssoll oder Option ist. Ist die Version des Austauschformats in deiner AIA gekl\u00e4rt, stellst du nur diese Frage.' }\n                ]\n            },\n            {\n                kenn: 'BF-18',\n                anlass: 'Software namentlich gefordert',\n                text: 'Die Vergabeunterlage nennt in [Kapitel] ein bestimmtes Softwareprodukt. Bitte best\u00e4tigen Sie, dass die Leistung auch mit gleichwertigen Werkzeugen erbracht werden kann, sofern die geforderten Datenformate erzeugt werden. Andernfalls bitten wir um Mitteilung, worauf sich die Produktvorgabe st\u00fctzt.',\n                quelle: 't02',\n                regeln: [],\n                folgeRegeln: [ { f: '8.3a', wenn: ['nein'] } ],\n                note: 'Freundlicher wird die Frage, wenn du auf den Satz des Bundesmusters zur freien Wahl der Softwarewerkzeuge verweist. Dann bittest du um eine Klarstellung statt um eine Rechtfertigung.'\n            },\n            {\n                kenn: 'BF-19',\n                anlass: 'Pr\u00fcfkriterien liegen nicht vor',\n                text: 'Bitte stellen Sie die Pr\u00fcfkriterien beziehungsweise die Pr\u00fcfcheckliste bereit, gegen die die Lieferungen gepr\u00fcft werden.',\n                quelle: 'entwurf',\n                regeln: [ { q: '8.4', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-20',\n                anlass: 'Bezugssystem f\u00fcr Lage und H\u00f6he fehlt',\n                text: 'Bitte geben Sie das Lagebezugssystem einschlie\u00dflich Zonenkennziffer und das H\u00f6henbezugssystem an, in dem die Bestandsdaten \u00fcbergeben und die Modelle geliefert werden sollen.',\n                quelle: 't02',\n                regeln: [ { q: '8.5', wenn: ['fehlt', 'unklar'] } ],\n                anpassung: [\n                    { q: '8.5', wenn: ['unklar'], text: 'Fehlt in deiner AIA nur die Stufe der Georeferenzierung, streichst du den Baustein und fragst stattdessen, welche Stufe die Lieferung erf\u00fcllen soll.' }\n                ]\n            },\n            {\n                kenn: 'BF-27',\n                anlass: 'Projektnullpunkt offen',\n                text: 'Die AIA nennt in [Kapitel] keinen Projektnullpunkt. Bitte teilen Sie mit, ob der Auftraggeber einen Projektnullpunkt vorgibt oder ob der Auftragnehmer ihn im BIM-Abwicklungsplan festlegen soll.',\n                quelle: 'entwurf',\n                regeln: [ { q: '8.6', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-31',\n                anlass: 'Referenz- oder Mastermodell offen',\n                text: 'Die Liste der bereitgestellten Grundlagen in [Kapitel] sagt nichts zu einem Referenz- oder Mastermodell. Bitte teilen Sie mit, ob der Auftraggeber ein solches Modell bereitstellt.',\n                quelle: 'entwurf',\n                regeln: [ { q: '8.7', wenn: ['fehlt', 'unklar'] } ],\n                anpassung: [\n                    { q: '8.7', wenn: ['unklar'], text: 'Nennt deine Unterlage ein solches Modell ohne Format oder Stand, streichst du den ersten Satz und fragst stattdessen, in welchem Format und mit welchem Stand es bereitgestellt wird.' }\n                ]\n            },\n            {\n                kenn: 'BF-28',\n                anlass: 'Modellsicht nicht genannt',\n                text: 'In [Kapitel] ist als Austauschformat IFC genannt, ohne Angabe der Modellsicht. Bitte teilen Sie mit, welche Modellsicht f\u00fcr die Lieferung gilt, etwa ReferenceView oder Alignment-basedView.',\n                quelle: 'entwurf',\n                regeln: [ { q: '8.8', wenn: ['fehlt', 'unklar'] } ],\n                anpassung: [\n                    { q: '8.8', wenn: ['unklar'], text: 'Ist die Modellsicht genannt und nur der Umfang der Achse offen, streichst du den Baustein und stellst nur die Frage zur Achse.' }\n                ],\n                note: 'Die Frage nach der Achse stellst du in einem eigenen Formularfeld: \u201eSoll die Achse mit ihren Trassierungsparametern geliefert werden, oder gen\u00fcgt sie als Objekt?\"'\n            },\n            {\n                kenn: 'BF-29',\n                anlass: 'Dateikennung nicht festgelegt',\n                text: 'Die AIA legt in [Kapitel] nicht fest, wie Dateien gekennzeichnet werden. Bitte teilen Sie mit, ob eine Konvention des Auftraggebers gilt oder ob der Auftragnehmer eine im BIM-Abwicklungsplan vorschlagen soll.',\n                quelle: 'entwurf',\n                regeln: [ { q: '8.9', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-32',\n                anlass: 'Objektbenennung nicht festgelegt',\n                text: 'Die AIA legt in [Kapitel] nicht fest, wie Objekte im Modell benannt werden. Bitte teilen Sie mit, ob eine Benennungsregel des Auftraggebers oder eines Betreibers gilt oder ob der Auftragnehmer eine im BIM-Abwicklungsplan vorschlagen soll.',\n                quelle: 'entwurf',\n                regeln: [ { q: '8.10', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-21',\n                anlass: 'Nutzungsrechte nicht konkretisiert',\n                text: 'Bitte konkretisieren Sie die Regelung zu den Nutzungsrechten: Art des Rechts, Nutzungsarten, Bearbeitung, Weitergabe an Dritte, und ob sie auch das Modell im nativen Format umfasst.',\n                quelle: 'entwurf',\n                regeln: [ { q: '9.2', wenn: ['fehlt', 'unklar'] } ]\n            },\n            {\n                kenn: 'BF-22',\n                anlass: 'Vorrang zwischen Modell und Plan ungeregelt',\n                text: 'AIA und Vertrag regeln nicht, welches Dokument im Widerspruchsfall gilt. Bitte teilen Sie mit, ob das Modell oder die abgeleitete Zeichnung ma\u00dfgeblich ist und welcher Liefergegenstand Grundlage der Genehmigung wird.',\n                quelle: 't02',\n                regeln: [ { q: '9.5', wenn: ['fehlt', 'unklar'] } ],\n                note: 'Dass du beides schuldest, Modell und abgeleiteten Plan, steht in den gepr\u00fcften Mustern ausdr\u00fccklich drin. Welches von beiden gilt, wenn sie auseinanderlaufen, steht dort nicht. Offen bleibt damit der Vorrang.'\n            },\n            {\n                kenn: 'BF-23',\n                anlass: 'Vorl\u00e4ufiger BAP mit dem Angebot verlangt',\n                text: 'Bitte best\u00e4tigen Sie Umfang und Bewertungsma\u00dfstab des mit dem Angebot einzureichenden vorl\u00e4ufigen BIM-Abwicklungsplans.',\n                quelle: 'entwurf',\n                art: 'rueckfrage',\n                regeln: [ { q: '9.4', wenn: ['geregelt'] } ],\n                note: 'Auch diese Frage entsteht aus einer geregelten Angabe. Sie zielt auf den Bewertungsma\u00dfstab, weil der vorl\u00e4ufige BAP in manchen Verfahren in die Wertung einflie\u00dft, wie stark h\u00e4ngt vom Verfahren ab.'\n            },\n            {\n                kenn: 'BF-35',\n                anlass: 'Unklar, ob ein vorl\u00e4ufiger BAP einzureichen ist',\n                text: 'Bitte teilen Sie mit, ob mit dem Angebot ein vorl\u00e4ufiger BIM-Abwicklungsplan einzureichen ist.',\n                quelle: 'entwurf',\n                regeln: [ { q: '9.4', wenn: ['unklar'] } ],\n                note: 'Ist er einzureichen, fragst du in einem eigenen Formularfeld nach Umfang und Bewertungsma\u00dfstab, wie in BF-23.'\n            },\n            {\n                kenn: 'BF-25',\n                anlass: 'Rangfolge der Vertragsunterlagen fehlt',\n                text: 'Die Vergabeunterlagen enthalten keine Rangfolge f\u00fcr den Widerspruchsfall. Bitte teilen Sie mit, in welcher Reihenfolge Vertragsformular, Leistungsbeschreibung, Technische Vertragsbedingungen, AIA, Besondere Vertragsbedingungen BIM, Allgemeine Vertragsbedingungen und BIM-Abwicklungsplan gelten.',\n                quelle: 'entwurf',\n                regeln: [ { q: '9.3', wenn: ['fehlt', 'unklar'] } ],\n                note: 'Die Muster-Vertragsbedingungen BIM aus BIM4INFRA2020 Teil 5 ordnen in Paragraf 1 Absatz 2 sieben Vertragsbestandteile, die AIA auf Rang 4 und den BAP auf Rang 7. Darauf kannst du dich beziehen. Die Liste ordnet allerdings nur die Unterlagen. Welches deiner Ergebnisse bei Widerspruch gilt, steht dort nicht; danach fragt 9.5.'\n            },\n            {\n                kenn: 'BF-30',\n                anlass: 'Preisformblatt ohne Aufgliederung',\n                text: 'Das Preisformblatt [Bezeichnung] sieht f\u00fcr die BIM-Leistungen eine einzige Position vor. Bitte teilen Sie mit, ob eine Aufgliederung dieser Position nach Teilleistungen zul\u00e4ssig ist.',\n                quelle: 'entwurf',\n                regeln: [ { q: '9.6', wenn: ['fehlt', 'unklar'] } ],\n                anpassung: [\n                    { q: '9.6', wenn: ['fehlt'], text: 'Taucht BIM in deinem Preisformblatt gar nicht auf, streichst du den ersten Satz und fragst stattdessen, in welcher Position die BIM-Leistungen anzubieten sind.' }\n                ],\n                note: 'Welche Leistungen die Position umfasst, fragst du in einem eigenen Formularfeld, falls die AIA den Umfang offenl\u00e4sst. Das Preisformblatt selbst \u00e4nderst oder erg\u00e4nzt du nicht eigenm\u00e4chtig. Eine Aufgliederung tr\u00e4gst du erst ein, wenn die Antwort sie zul\u00e4sst, weil \u00c4nderungen an den Vergabeunterlagen zum Ausschluss f\u00fchren k\u00f6nnen.'\n            },\n            {\n                kenn: 'BF-24',\n                anlass: 'Leistungsumfang insgesamt nicht kalkulierbar',\n                text: 'Der Umfang der BIM-Leistungen ist auf Grundlage der Vergabeunterlagen nicht abschlie\u00dfend kalkulierbar. Bitte teilen Sie mit, ob eine stufenweise Beauftragung vorgesehen ist und welche Leistungen der ersten Stufe zugeordnet sind.',\n                quelle: 't02',\n                regeln: [],\n                summe: 7,\n                note: 'Dieser Baustein zielt auf die Summe aller offenen L\u00fccken. Sinnvoll wird er, wenn mehr als sechs L\u00fccken in grundlegenden Fragen zusammenkommen.'\n            }\n        ];\n\n        \/* ---------- Kurzblatt ----------\n           Vorderseite: die Kernfragen fuer den Angebotsmoment, brauchbar auch ohne ausgearbeitete AIA; fragen nennt\n           die Nummern im Raster, wo genauer gefragt wird. Rueckseite: was nach dem Zuschlag feststehen und vor der\n           ersten Lieferung geprueft sein sollte, je Zeile mit der Themenseite, auf der es erklaert ist. *\/\n\n        var KERN = [\n            { text: 'Stehen die geforderten Anwendungsf\u00e4lle mit Nummer da, und ist klar, aus welcher Liste die Nummern stammen, etwa der von BIM Deutschland?', fragen: ['2.1', '2.2'] },\n            { text: 'Steht fest, welche Grundlagen der Auftraggeber beistellt, auch ob ein Referenzmodell dabei ist, und stehen dabei Format, Termin, Herkunft, Erfassungsdatum und Genauigkeit?', fragen: ['3.1', '3.2', '3.3', '8.7'] },\n            { text: 'Steht fest, wer die Gemeinsame Datenumgebung stellt, also die gemeinsame Ablage oder Plattform des Projekts, ab wann und auf wessen Kosten?', fragen: ['3.4'] },\n            { text: 'Steht fest, was wann an wen geliefert wird, in welchem Format mit welcher Version und bei IFC in welcher Modellsicht?', fragen: ['4.2', '4.3', '4.4', '8.1', '8.8'] },\n            { text: 'Gibt es je Bauteiltyp eine benannte Merkmalsliste? Steht die geforderte Tiefe nur als Zahl je Leistungsphase da, kreuzt du \u201eunklar\" an.', fragen: ['5.3'] },\n            { text: 'Ist der Merkmalskatalog genannt, aus dem die Merkmale stammen, mit Version?', fragen: ['5.4'] },\n            { text: 'Steht das Lage- und H\u00f6henbezugssystem der Lieferung fest, und ist gesagt, ob ein Projektnullpunkt vorgegeben, dir \u00fcberlassen oder gar nicht vorgesehen ist?', fragen: ['8.5', '8.6'] },\n            { text: 'Ist mit dem Angebot ein vorl\u00e4ufiger BIM-Abwicklungsplan (BAP) abzugeben? Wenn ja, fragst du nach Umfang und Bewertungsma\u00dfstab.', fragen: ['9.4'] },\n            { text: 'L\u00e4sst das Preisformblatt zu, die BIM-Leistung aufzugliedern?', fragen: ['9.6'] },\n            { text: 'Sind die Nutzungsrechte einzeln geregelt, auch f\u00fcr das Modell im Format deines Programms, also das native Modell?', fragen: ['9.2'] },\n            { text: 'Steht irgendwo, was gilt, wenn dein Modell und der daraus abgeleitete Plan voneinander abweichen?', fragen: ['9.5'] }\n        ];\n\n        var NACH_ZUSCHLAG = [\n            {\n                titel: 'Bevor modelliert wird',\n                punkte: [\n                    { text: 'Was vor dem Angebot offen blieb, etwa die Merkmalsliste, ist schriftlich nachgefordert.', seite: 'Themenfeld 4 \u00b7 Merkmale vor dem ersten Bauteil' },\n                    { text: 'Die BIM-Rollen sind besetzt, jede mit Vertretung, und die zweite Person hat Zugang zur Datenumgebung.', seite: 'Themenfeld 2 \u00b7 Der BAP im kleinen B\u00fcro' },\n                    { text: 'Lage- und H\u00f6henbezugssystem mit H\u00f6henstatus und Ma\u00dfstab der Abbildung stehen im BAP, dazu Projektnullpunkt und Drehwinkel, wo mit einem lokalen System gearbeitet wird, und zwar bevor das erste Modell entsteht.', seite: 'Themenfeld 3 \u00b7 Wo das Modell liegt' },\n                    { text: 'Jede Bestandslieferung nennt ihre Genauigkeit, getrennt f\u00fcr Lage und H\u00f6he, und ihr Erfassungsdatum; fehlt eines davon, ist nachgefragt.', seite: 'Themenfeld 3 \u00b7 Bestandsdaten annehmen' },\n                    { text: 'Spartendaten f\u00fchren an jeder H\u00f6henangabe, ob sie gemessen oder angenommen ist und worauf sie sich bezieht, dazu Abrufdatum und G\u00fcltigkeit der Auskunft, bevor sie ins Koordinationsmodell gehen.', seite: 'Themenfeld 3 \u00b7 Sparten und Baugrund' },\n                    { text: 'F\u00fcr die Aufteilung der Fachmodelle steht jemand namentlich ein, und die Bauteile an den Modellgrenzen sind im BAP einzeln zugeordnet.', seite: 'Themenfeld 4 \u00b7 Fachmodelle abgrenzen' },\n                    { text: 'Merkmalsliste und Klassifizierung stehen fest, und die Felder sind im Programm angelegt, bevor das erste Bauteil entsteht.', seite: 'Themenfeld 4 \u00b7 Merkmale vor dem ersten Bauteil' },\n                    { text: 'Im BAP stehen der Katalog mit Version und Abrufdatum und jedes eigene Merkmal mit dem Vermerk, dass es eine eigene Festlegung ist.', seite: 'Themenfeld 4 \u00b7 Merkmale aus dem Katalog' },\n                    { text: 'Der Lieferplan nennt je Daten\u00fcbergabepunkt Format, Version und Empf\u00e4nger.', seite: 'Themenfeld 5 \u00b7 Welches Format wof\u00fcr' },\n                    { text: 'Bei IFC steht die Modellsicht im BAP, und damit, ob die Achse mit Lageplan und H\u00f6henentwicklung geliefert wird.', seite: 'Themenfeld 5 \u00b7 IFC im Tiefbau' },\n                    { text: 'Beim Kanal sind Benennungsregel, Mindestangaben je Objektart und die Version, die das System des Betreibers einliest, schriftlich abgestimmt.', seite: 'Themenfeld 5 \u00b7 Kanal kommunal' },\n                    { text: 'Die Datenumgebung f\u00fchrt je Datei einen Zustand aus einem festgelegten Satz, h\u00e4lt die Freigabe mit Person und Zeitpunkt fest und protokolliert, oder der BAP regelt, wie die Ablage das ersetzt.', seite: 'Themenfeld 6 \u00b7 Die Gemeinsame Datenumgebung' },\n                    { text: 'Im BAP stehen die Dateikennung mit Feldliste und Trennzeichen und je Daten\u00fcbergabepunkt die Pr\u00fcffrist des Auftraggebers.', seite: 'Themenfeld 6 \u00b7 Die Gemeinsame Datenumgebung' },\n                    { text: 'F\u00fcr die Kollisionspr\u00fcfung stehen der Regelsatz mit Herausgeber und Stand, ein Abstandswert je Paar von Leitungsarten und die ausgenommenen Durchdringungen im BAP.', seite: 'Themenfeld 6 \u00b7 Kollisionspr\u00fcfung im Tiefbau' },\n                    { text: 'Die Werteliste f\u00fcr Art, Bearbeitungsstand und Dringlichkeit der Vorg\u00e4nge, also der Befunde und R\u00fcckfragen zum Modell, steht im BAP und ist bei beiden Seiten hinterlegt.', seite: 'Themenfeld 6 \u00b7 Vorg\u00e4nge f\u00fchren' }\n                ]\n            },\n            {\n                titel: 'Vor der ersten Lieferung',\n                punkte: [\n                    { text: 'Die Verortung ist gepr\u00fcft: Ostwert, Ma\u00dfstab und H\u00f6henstatus sind abgelesen, bekannte Passpunkte nachgerechnet, und ein Testexport ist zum Empf\u00e4nger und zur\u00fcck gelaufen.', seite: 'Themenfeld 3 \u00b7 Wo das Modell liegt' },\n                    { text: 'Vor dem Versand sind im Dateikopf Schema und Programm gelesen, die Klassen gez\u00e4hlt, die Merkmale in zwei IFC-Viewern angesehen und die Lage gegen einen bekannten Punkt gehalten.', seite: 'Themenfeld 5 \u00b7 Was beim Export verloren geht' },\n                    { text: 'Im Dateikopf steht die Version aus dem BAP, und die Pr\u00fcfregel des Projekts ist bestanden oder die Abweichungen stehen mit Begr\u00fcndung im Pr\u00fcfvermerk.', seite: 'Themenfeld 6 \u00b7 Pr\u00fcfen, bevor jemand anderes pr\u00fcft' }\n                ]\n            },\n            {\n                titel: 'Sp\u00e4ter, vor der Bauvergabe',\n                punkte: [\n                    { text: 'Format und Empf\u00e4nger f\u00fcr die Bauphase stehen im Lieferplan, und die Baustelle wei\u00df, wer den Stand f\u00fcr die Maschinensteuerung freigibt.', seite: 'Themenfeld 5 \u00b7 Die letzte Meile' }\n                ]\n            }\n        ];\n\n        \/* ---------- Zustand ---------- *\/\n\n        var state = {\n            kopf: { bezeichnung: '', projekt: '', ag: '', aia: '', fassung: '', bearbeiter: '' },\n            antw: {},\n            notiz: {},\n            folge: {},\n            annahme: {}\n        };\n\n        \/* ---------- Kleine Helfer ---------- *\/\n\n        function el(tag, cls, text) {\n            var n = document.createElement(tag);\n            if (cls) { n.className = cls; }\n            if (text !== undefined) { n.textContent = text; }\n            return n;\n        }\n\n        function frageVon(nr) {\n            var f = null;\n            FRAGEN.forEach(function (x) { if (x.nr === nr) { f = x; } });\n            return f;\n        }\n\n        function gruppeVon(id) {\n            var g = null;\n            GRUPPEN.forEach(function (x) { if (x.id === id) { g = x; } });\n            return g;\n        }\n\n        function gruppenNummer(id) {\n            return GRUPPEN.map(function (x) { return x.id; }).indexOf(id) + 1;\n        }\n\n        function antwLabel(id) {\n            var l = '';\n            ANTW.forEach(function (a) { if (a.id === id) { l = a.label; } });\n            return l;\n        }\n\n        function folgeLabel(feld, wert) {\n            var liste = (feld === '8.2a') ? FOLGE_82A : FOLGE_83A;\n            var l = wert;\n            liste.forEach(function (a) { if (a.id === wert) { l = a.label; } });\n            return l;\n        }\n\n        var ZAHLWORT = ['keine', 'eine', 'zwei', 'drei', 'vier', 'f\u00fcnf', 'sechs', 'sieben', 'acht',\n            'neun', 'zehn', 'elf', 'zw\u00f6lf'];\n\n        function wort(n) {\n            if (n < ZAHLWORT.length) { return ZAHLWORT[n]; }\n            return String(n);\n        }\n\n        function gross(s) { return s.charAt(0).toUpperCase() + s.slice(1); }\n\n        \/* ---------- Sperr- und Pflichtlogik der Folgefragen ---------- *\/\n\n        function istGesperrt(nr) {\n            if (nr === '1.3') { return state.antw['1.2'] === 'fehlt'; }\n            if (nr === '1.4') { return state.antw['1.2'] === 'fehlt'; }\n            return false;\n        }\n\n        function istPflicht(nr) {\n            if (nr === '5.2') { return state.antw['5.1'] === 'fehlt'; }\n            if (nr === '5.3') { return state.antw['5.1'] === 'fehlt'; }\n            return false;\n        }\n\n        \/* Fragen mit neinOk: \"nein\" heisst nicht gefordert. Das ist keine Luecke,\n           das Ergebnisblatt fuehrt die Zeile unter \"bewusst nicht einschlaegig\". *\/\n        var NEIN_OK = {};\n        FRAGEN.forEach(function (f) { if (f.neinOk) { NEIN_OK[f.nr] = true; } });\n\n        function eff(nr) {\n            if (istGesperrt(nr)) { return 'nicht'; }\n            var a = state.antw[nr] ? state.antw[nr] : '';\n            if (a === 'fehlt') { if (NEIN_OK[nr]) { return 'nicht'; } }\n            return a;\n        }\n\n        function frageText(f) {\n            if (istPflicht(f.nr)) {\n                if (f.frageAlt) { return f.frageAlt; }\n            }\n            return f.frage;\n        }\n\n        \/* ---------- Zaehlungen ---------- *\/\n\n        function beantwortet() {\n            return FRAGEN.filter(function (f) { return eff(f.nr) !== ''; }).length;\n        }\n\n        function luecken() {\n            return FRAGEN.filter(function (f) {\n                var a = eff(f.nr);\n                if (a === 'fehlt') { return true; }\n                return a === 'unklar';\n            });\n        }\n\n        function tragendeLuecken() {\n            return luecken().filter(function (f) { return f.gew === 'T'; });\n        }\n\n        \/* ---------- Bausteine auswerten ---------- *\/\n\n        function bausteinAusloeser(b) {\n            var out = [];\n            var regeln = b.regeln ? b.regeln : [];\n            regeln.forEach(function (r) {\n                var a = eff(r.q);\n                if (a === '') { return; }\n                if (r.wenn.indexOf(a) !== -1) { out.push(r.q + ' ' + antwLabel(a)); }\n            });\n            var fr = b.folgeRegeln ? b.folgeRegeln : [];\n            fr.forEach(function (r) {\n                var v = state.folge[r.f];\n                if (!v) { return; }\n                if (folgeAktiv(r.f) === false) { return; }\n                if (r.wenn.indexOf(v) !== -1) { out.push('Folgefrage ' + r.f + ': ' + folgeLabel(r.f, v)); }\n            });\n            if (b.summe) {\n                if (tragendeLuecken().length >= b.summe) {\n                    out.push('mehr als sechs L\u00fccken in grundlegenden Fragen');\n                }\n            }\n            return out;\n        }\n\n        function bausteinAnpassungen(b) {\n            var out = [];\n            var liste = b.anpassung ? b.anpassung : [];\n            liste.forEach(function (r) {\n                if (r.q) {\n                    var a = eff(r.q);\n                    if (r.wenn.indexOf(a) !== -1) { out.push(r.text); }\n                    return;\n                }\n                var v = state.folge[r.f];\n                if (!v) { return; }\n                if (folgeAktiv(r.f) === false) { return; }\n                if (r.wenn.indexOf(v) !== -1) { out.push(r.text); }\n            });\n            return out;\n        }\n\n        function folgeAktiv(feld) {\n            if (feld === '8.2a') { return eff('8.2') === 'geregelt'; }\n            if (feld === '8.3a') { return eff('8.3') === 'geregelt'; }\n            return true;\n        }\n\n        function aktiveBausteine() {\n            var out = [];\n            BAUSTEINE.forEach(function (b) {\n                var trigger = bausteinAusloeser(b);\n                if (trigger.length === 0) { return; }\n                out.push({ b: b, trigger: trigger, anpassung: bausteinAnpassungen(b) });\n            });\n            return out;\n        }\n\n        \/* ---------- Speichern ---------- *\/\n\n        function speichern() {\n            try {\n                var daten = {\n                    v: 1,\n                    kopf: state.kopf,\n                    antw: state.antw,\n                    notiz: state.notiz,\n                    folge: state.folge,\n                    annahme: state.annahme\n                };\n                window.localStorage.setItem(KEY, window.JSON.stringify(daten));\n            } catch (e) {\n                \/* Privater Modus oder gesperrter Speicher: das Werkzeug arbeitet ohne Speicherung weiter. *\/\n            }\n        }\n\n        function laden() {\n            var roh = null;\n            try { roh = window.localStorage.getItem(KEY); } catch (e) { roh = null; }\n            if (!roh) { return; }\n            var daten = null;\n            try { daten = window.JSON.parse(roh); } catch (e) { daten = null; }\n            if (!daten) { return; }\n            if (daten.kopf) {\n                Object.keys(state.kopf).forEach(function (k) {\n                    if (typeof daten.kopf[k] === 'string') { state.kopf[k] = daten.kopf[k]; }\n                });\n            }\n            if (daten.antw) { state.antw = daten.antw; }\n            if (daten.notiz) { state.notiz = daten.notiz; }\n            if (daten.folge) { state.folge = daten.folge; }\n            if (daten.annahme) { state.annahme = daten.annahme; }\n        }\n\n        function alleLoeschen() {\n            var ok = window.confirm('Alle Eingaben dieser Durchsicht l\u00f6schen? Kopfdaten, Antworten, Notizen und Annahmen werden entfernt. Das l\u00e4sst sich nicht r\u00fcckg\u00e4ngig machen.');\n            if (!ok) { return; }\n            state.kopf = { bezeichnung: '', projekt: '', ag: '', aia: '', fassung: '', bearbeiter: '' };\n            state.antw = {};\n            state.notiz = {};\n            state.folge = {};\n            state.annahme = {};\n            try { window.localStorage.removeItem(KEY); } catch (e) { \/* nichts zu tun *\/ }\n            kopfFelderSetzen();\n            baueKatalog();\n            baueBlatt();\n            baueKurzblatt();\n            fortschritt();\n        }\n\n        \/* ---------- Kopffelder ---------- *\/\n\n        var kopfInputs = root.querySelectorAll('[data-kopf]');\n\n        function kopfFelderSetzen() {\n            Array.prototype.forEach.call(kopfInputs, function (inp) {\n                inp.value = state.kopf[inp.getAttribute('data-kopf')];\n            });\n        }\n\n        Array.prototype.forEach.call(kopfInputs, function (inp) {\n            inp.addEventListener('input', function () {\n                state.kopf[inp.getAttribute('data-kopf')] = inp.value;\n                speichern();\n                baueBlattKopf();\n                baueKurzblatt();\n            });\n        });\n\n        \/* ---------- Katalog aufbauen ---------- *\/\n\n        var katalogEl = root.querySelector('#aiaKatalog');\n        var blattEl = root.querySelector('#aiaSheet');\n        var rasterEl = root.querySelector('#aiaRaster');\n        var kurzEl = root.querySelector('#aiaKurz');\n        var fortschrittEl = root.querySelector('#aiaFortschritt');\n        var navEl = root.querySelector('#aiaNav');\n\n        function segButton(label, aktiv, gesperrt, fn) {\n            var b = el('button', 'aia-segbtn', label);\n            b.type = 'button';\n            if (aktiv) { b.classList.add('is-active'); }\n            if (gesperrt) { b.disabled = true; }\n            b.setAttribute('aria-pressed', aktiv ? 'true' : 'false');\n            b.addEventListener('click', fn);\n            return b;\n        }\n\n        function baueFrage(f) {\n            var wrap = el('div', 'aia-q');\n            wrap.setAttribute('data-frage', f.nr);\n            var gesperrt = istGesperrt(f.nr);\n            if (gesperrt) { wrap.classList.add('is-locked'); }\n\n            var head = el('div', 'aia-q-head');\n            head.appendChild(el('span', 'aia-q-nr', f.nr));\n            var gw = GEWICHT[f.gew];\n            var gwEl = el('span', 'aia-q-gew ' + gw.klasse, gw.label);\n            head.appendChild(gwEl);\n            head.appendChild(el('p', 'aia-q-text', frageText(f)));\n            wrap.appendChild(head);\n\n            if (gesperrt) {\n                wrap.appendChild(el('p', 'aia-lock', 'Ruht, weil 1.2 auf \u201enein\" steht. Ohne genannte Anlagen gibt es nichts zu pr\u00fcfen. Auf dem Ergebnisblatt steht diese Zeile als \u201ebewusst nicht einschl\u00e4gig\".'));\n            }\n            if (istPflicht(f.nr)) {\n                wrap.appendChild(el('p', 'aia-pflicht', 'Pflichtfrage, weil 5.1 auf \u201enein\" steht. Ohne eigenen Anhang entscheidet sich hier, ob die Anforderung \u00fcberhaupt irgendwo steht.'));\n            }\n\n            var ort = el('p', 'aia-q-ort');\n            ort.appendChild(el('strong', '', 'Wo nachsehen: '));\n            ort.appendChild(document.createTextNode(f.ort));\n            wrap.appendChild(ort);\n\n            if (f.deut) { wrap.appendChild(el('p', 'aia-q-deut', f.deut)); }\n\n            var seg = el('div', 'aia-seg');\n            seg.setAttribute('role', 'group');\n            seg.setAttribute('aria-label', 'Antwort auf Frage ' + f.nr);\n            ANTW.forEach(function (a) {\n                var aktiv = gesperrt ? (eff(f.nr) === a.id) : (state.antw[f.nr] === a.id);\n                seg.appendChild(segButton(a.label, aktiv, gesperrt, function () {\n                    if (state.antw[f.nr] === a.id) { delete state.antw[f.nr]; }\n                    else { state.antw[f.nr] = a.id; }\n                    speichern();\n                    baueKatalog();\n                    baueBlatt();\n                    fortschritt();\n                }));\n            });\n            wrap.appendChild(seg);\n\n            var notiz = el('div', 'aia-notiz');\n            var lbl = el('label', '', 'Fundstelle oder Bemerkung');\n            lbl.setAttribute('for', 'aiaNotiz-' + f.nr.replace('.', '-'));\n            var inp = el('input', 'aia-input aia-input-sm');\n            inp.type = 'text';\n            inp.id = 'aiaNotiz-' + f.nr.replace('.', '-');\n            inp.placeholder = 'zum Beispiel: Kapitel 4, Tabelle 9, Seite 17';\n            inp.autocomplete = 'off';\n            inp.value = state.notiz[f.nr] ? state.notiz[f.nr] : '';\n            inp.disabled = gesperrt;\n            inp.addEventListener('input', function () {\n                state.notiz[f.nr] = inp.value;\n                speichern();\n                baueBlatt();\n            });\n            notiz.appendChild(lbl);\n            notiz.appendChild(inp);\n            wrap.appendChild(notiz);\n\n            \/* Folgefragen *\/\n            if (f.nr === '1.2') {\n                if (eff('1.2') === 'geregelt') {\n                    var box1 = el('div', 'aia-folge');\n                    box1.appendChild(el('p', 'aia-folge-frage', 'Wie viele mitgeltende Dokumente nennt die AIA?'));\n                    var num = el('input', 'aia-input aia-input-sm aia-input-num');\n                    num.type = 'number';\n                    num.min = '0';\n                    num.step = '1';\n                    num.placeholder = 'Anzahl';\n                    num.value = state.folge['1.2n'] ? state.folge['1.2n'] : '';\n                    num.setAttribute('aria-label', 'Anzahl der mitgeltenden Dokumente');\n                    num.addEventListener('input', function () {\n                        state.folge['1.2n'] = num.value;\n                        speichern();\n                        baueBlattKopf();\n                    });\n                    box1.appendChild(num);\n                    box1.appendChild(el('p', 'aia-bf-meta', 'Nur zur Erinnerung auf dem Ergebnisblatt. Die Zahl wird nicht verrechnet.'));\n                    wrap.appendChild(box1);\n                }\n            }\n\n            if (f.nr === '8.2') {\n                if (eff('8.2') === 'geregelt') {\n                    wrap.appendChild(folgeSegment('8.2a', 'Ist die native Lieferung als Vertragssoll oder als Option bezeichnet?', FOLGE_82A));\n                }\n            }\n\n            if (f.nr === '8.3') {\n                if (eff('8.3') === 'geregelt') {\n                    wrap.appendChild(folgeSegment('8.3a', 'Haben wir dieses Programm im B\u00fcro?', FOLGE_83A));\n                }\n            }\n\n            return wrap;\n        }\n\n        function folgeSegment(feld, frage, optionen) {\n            var box = el('div', 'aia-folge');\n            box.appendChild(el('p', 'aia-folge-frage', 'Folgefrage ' + feld + ': ' + frage));\n            var seg = el('div', 'aia-seg');\n            seg.setAttribute('role', 'group');\n            seg.setAttribute('aria-label', 'Folgefrage ' + feld);\n            optionen.forEach(function (o) {\n                var aktiv = state.folge[feld] === o.id;\n                seg.appendChild(segButton(o.label, aktiv, false, function () {\n                    if (state.folge[feld] === o.id) { delete state.folge[feld]; }\n                    else { state.folge[feld] = o.id; }\n                    speichern();\n                    baueKatalog();\n                    baueBlatt();\n                }));\n            });\n            box.appendChild(seg);\n            return box;\n        }\n\n        function baueKatalog() {\n            katalogEl.textContent = '';\n            GRUPPEN.forEach(function (g, i) {\n                var fr = FRAGEN.filter(function (f) { return f.g === g.id; });\n                var box = el('div', 'aia-group');\n                box.id = 'aiaGruppe' + (i + 1);\n\n                var head = el('div', 'aia-group-head');\n                head.appendChild(el('span', 'aia-group-nr', String(i + 1)));\n                head.appendChild(el('h3', 'aia-group-title', g.titel));\n                var offen = fr.filter(function (f) { return eff(f.nr) === ''; }).length;\n                var zahl = (offen === 0)\n                    ? (fr.length + ' Fragen, alle beantwortet')\n                    : (fr.length + ' Fragen, ' + offen + ' offen');\n                head.appendChild(el('span', 'aia-group-zahl', zahl));\n                box.appendChild(head);\n\n                fr.forEach(function (f) { box.appendChild(baueFrage(f)); });\n\n                if (g.id === 'G2') {\n                    if (eff('2.1') === 'fehlt') {\n                        var w = el('div', 'aia-warnzeile');\n                        w.appendChild(el('strong', '', 'Ohne benannte Anwendungsf\u00e4lle steht der Rest auf Sand. '));\n                        w.appendChild(document.createTextNode('Aus ihnen leiten sich Liefergegenstand und Informationsbedarfstiefe ab. Die Fragen 2.2 bis 2.5 bleiben trotzdem aktiv, weil eine AIA die Anwendungsf\u00e4lle auch au\u00dferhalb einer Tabelle im Flie\u00dftext beschreiben kann.'));\n                        box.appendChild(w);\n                    }\n                }\n\n                katalogEl.appendChild(box);\n            });\n        }\n\n        \/* ---------- Navigation ---------- *\/\n\n        function baueNav() {\n            GRUPPEN.forEach(function (g, i) {\n                var b = el('button', 'aia-segbtn', (i + 1) + ' \u00b7 ' + g.kurz);\n                b.type = 'button';\n                b.title = g.titel;\n                b.addEventListener('click', function () {\n                    var ziel = root.querySelector('#aiaGruppe' + (i + 1));\n                    if (ziel) { ziel.scrollIntoView({ behavior: 'smooth', block: 'start' }); }\n                });\n                navEl.appendChild(b);\n            });\n            var bb = el('button', 'aia-segbtn', 'Ergebnisblatt');\n            bb.type = 'button';\n            bb.addEventListener('click', zumBlatt);\n            navEl.appendChild(bb);\n            var bk = el('button', 'aia-segbtn', 'Kurzblatt');\n            bk.type = 'button';\n            bk.addEventListener('click', function () {\n                kurzEl.scrollIntoView({ behavior: 'smooth', block: 'start' });\n            });\n            navEl.appendChild(bk);\n        }\n\n        function zumBlatt() {\n            blattEl.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        }\n\n        \/* ---------- Fortschritt ---------- *\/\n\n        function fortschritt() {\n            fortschrittEl.textContent = '';\n            var n = beantwortet();\n            var stark = el('strong', '', n + ' von ' + FRAGEN.length + ' Fragen beantwortet.');\n            fortschrittEl.appendChild(stark);\n            var sub = el('span', '', '');\n            if (n === 0) {\n                sub.textContent = 'Noch nichts angeklickt. Die Zahl zeigt deinen Arbeitsstand.';\n            } else {\n                var l = luecken().length;\n                sub.textContent = (l === 0)\n                    ? 'Bisher keine L\u00fccke gefunden. Die Zahl zeigt deinen Arbeitsstand.'\n                    : ('Bisher ' + wort(l) + ' offene ' + (l === 1 ? 'Angabe' : 'Angaben') + '. Die Zahl zeigt deinen Arbeitsstand.');\n            }\n            fortschrittEl.appendChild(sub);\n        }\n\n        \/* ---------- Ergebnisblatt ---------- *\/\n\n        function faktZeile(key, val) {\n            var z = el('div', 'aia-fakt');\n            z.appendChild(el('div', 'aia-fakt-key', key));\n            var v = el('div', 'aia-fakt-val');\n            if (val) { v.textContent = val; }\n            else { v.appendChild(el('span', 'aia-leer', '')); }\n            z.appendChild(v);\n            return z;\n        }\n\n        function baueBlattKopf() {\n            var alt = blattEl.querySelector('.aia-sheet-kopf');\n            var neu = kopfBlock();\n            if (alt) { blattEl.replaceChild(neu, alt); }\n        }\n\n        function kopfBlock() {\n            var kopf = el('div', 'aia-sheet-kopf');\n            var marke = el('div', 'aia-sheet-marke', 'CAD-Kompass \u00b7 AIA-Lesehilfe');\n            kopf.appendChild(marke);\n            kopf.appendChild(el('h3', 'aia-sheet-title', 'Ergebnisblatt der Durchsicht'));\n\n            var tab = el('div', 'aia-sheet-fakten');\n            tab.appendChild(faktZeile('Bezeichnung dieser Durchsicht', state.kopf.bezeichnung));\n            tab.appendChild(faktZeile('Projekt', state.kopf.projekt));\n            tab.appendChild(faktZeile('Auftraggeber', state.kopf.ag));\n            tab.appendChild(faktZeile('Bezeichnung der AIA', state.kopf.aia));\n            tab.appendChild(faktZeile('Fassung und Datum der AIA', state.kopf.fassung));\n            tab.appendChild(faktZeile('Bearbeiter und Datum der Durchsicht', state.kopf.bearbeiter));\n            kopf.appendChild(tab);\n\n            var zeile = el('p', 'aia-sheet-zeile', 'Durchsicht nach dem Fragenraster der CAD-Kompass-AIA-Lesehilfe, ' + FRAGEN.length + ' Fragen in ' + GRUPPEN.length + ' Gruppen.');\n            kopf.appendChild(zeile);\n\n            var anzahl = state.folge['1.2n'];\n            if (anzahl) {\n                if (eff('1.2') === 'geregelt') {\n                    kopf.appendChild(el('p', 'aia-sheet-zeile', 'Die AIA nennt nach eigener Angabe ' + anzahl + ' mitgeltende Dokumente.'));\n                }\n            }\n            return kopf;\n        }\n\n        function zeile(f, mitAntwort) {\n            var z = el('div', 'aia-row');\n            z.appendChild(el('span', 'aia-mark', ''));\n            z.appendChild(el('span', 'aia-row-nr', f.nr));\n            var body = el('div', 'aia-row-body');\n            var txt = el('span', 'aia-row-txt', f.kurz);\n            body.appendChild(txt);\n            if (mitAntwort) {\n                var a = eff(f.nr);\n                var zusatz = (a === 'fehlt') ? ' \u00b7 Antwort: nein' : ' \u00b7 Antwort: unklar';\n                body.appendChild(el('span', 'aia-row-antw', zusatz));\n            }\n            var n = state.notiz[f.nr];\n            if (n) {\n                var nz = el('span', 'aia-row-notiz');\n                nz.appendChild(document.createTextNode('Fundstelle: '));\n                nz.appendChild(el('em', '', n));\n                body.appendChild(nz);\n            }\n            z.appendChild(body);\n            return z;\n        }\n\n        function blockB() {\n            var blk = el('div', 'aia-blk');\n            blk.appendChild(el('h4', 'aia-blk-title', 'B \u00b7 Was gefordert ist'));\n\n            var geregelt = FRAGEN.filter(function (f) { return eff(f.nr) === 'geregelt'; });\n            var nicht = FRAGEN.filter(function (f) { return eff(f.nr) === 'nicht'; });\n\n            if (geregelt.length === 0) {\n                blk.appendChild(el('p', 'aia-blk-lead', 'Noch keine Frage mit \u201eja\" beantwortet. Was hier steht, \u00fcbertr\u00e4gst du sp\u00e4ter in die Kalkulation.'));\n            } else {\n                blk.appendChild(el('p', 'aia-blk-lead', 'Diese Angaben hast du gefunden, sie sind eindeutig. Das ist der Teil, den du in die eigene Kalkulation \u00fcbertr\u00e4gst.'));\n                GRUPPEN.forEach(function (g, i) {\n                    var fr = geregelt.filter(function (f) { return f.g === g.id; });\n                    if (fr.length === 0) { return; }\n                    blk.appendChild(el('div', 'aia-gruppenkopf', (i + 1) + ' \u00b7 ' + g.titel));\n                    fr.forEach(function (f) { blk.appendChild(zeile(f, false)); });\n                });\n            }\n\n            if (nicht.length > 0) {\n                blk.appendChild(el('div', 'aia-sub', 'Bewusst nicht einschl\u00e4gig'));\n                nicht.forEach(function (f) {\n                    var z = zeile(f, false);\n                    if (istGesperrt(f.nr)) {\n                        var b = z.querySelector('.aia-row-body');\n                        b.appendChild(el('span', 'aia-row-antw', ' \u00b7 entf\u00e4llt, weil 1.2 keine mitgeltenden Dokumente nennt'));\n                    }\n                    if (NEIN_OK[f.nr]) {\n                        if (state.antw[f.nr] === 'fehlt') {\n                            z.querySelector('.aia-row-body').appendChild(el('span', 'aia-row-antw', ' \u00b7 Antwort: nein'));\n                        }\n                    }\n                    blk.appendChild(z);\n                });\n            }\n            return blk;\n        }\n\n        function satzZuLuecken() {\n            var n = beantwortet();\n            var l = luecken().length;\n            var t = tragendeLuecken().length;\n            var s = 'Von ' + FRAGEN.length + ' Fragen sind ' + n + ' beantwortet. ';\n            if (l === 0) {\n                return s + 'Keine Angabe fehlt, und keine ist unklar.';\n            }\n            if (l === 1) {\n                return s + 'Eine Angabe fehlt oder ist unklar' + (t === 1\n                    ? ', und sie geh\u00f6rt zu den Punkten, die den Aufwand bestimmen.'\n                    : ', und sie geh\u00f6rt nicht zu den Punkten, die den Aufwand bestimmen.');\n            }\n            s = s + gross(wort(l)) + ' Angaben fehlen oder sind unklar';\n            if (t === 0) { return s + ', keine davon in Punkten, die den Aufwand bestimmen.'; }\n            if (t === 1) { return s + ', eine davon in einem Punkt, der den Aufwand bestimmt.'; }\n            return s + ', davon ' + wort(t) + ' in Punkten, die den Aufwand bestimmen.';\n        }\n\n        function blockC() {\n            var blk = el('div', 'aia-blk');\n            blk.appendChild(el('h4', 'aia-blk-title', 'C \u00b7 Was fehlt oder unklar ist'));\n            blk.appendChild(el('p', 'aia-blk-lead', satzZuLuecken()));\n\n            var alle = luecken();\n            if (alle.length === 0) { return blk; }\n\n            var tragend = alle.filter(function (f) { return f.gew === 'T'; });\n            var rest = alle.filter(function (f) { return f.gew !== 'T'; });\n\n            function sortiere(liste) {\n                return liste.slice().sort(function (a, b) {\n                    return gruppenNummer(a.g) - gruppenNummer(b.g);\n                });\n            }\n\n            if (tragend.length > 0) {\n                blk.appendChild(el('div', 'aia-sub', 'Diese Punkte bestimmen den Aufwand'));\n                sortiere(tragend).forEach(function (f) { blk.appendChild(zeile(f, true)); });\n            }\n            if (rest.length > 0) {\n                blk.appendChild(el('div', 'aia-sub', 'Diese Punkte sind zu notieren'));\n                sortiere(rest).forEach(function (f) { blk.appendChild(zeile(f, true)); });\n            }\n            return blk;\n        }\n\n        function blockD() {\n            var blk = el('div', 'aia-blk');\n            blk.appendChild(el('h4', 'aia-blk-title', 'D \u00b7 Bieterfragen'));\n            var liste = aktiveBausteine();\n\n            if (liste.length === 0) {\n                blk.appendChild(el('p', 'aia-blk-lead', 'Noch kein Baustein ausgel\u00f6st. Sobald eine Frage auf \u201enein\" oder \u201eunklar\" steht, schl\u00e4gt das Blatt hier eine Formulierung vor.'));\n                return blk;\n            }\n\n            blk.appendChild(el('p', 'aia-blk-lead', 'Die Bausteine sind Vorschl\u00e4ge und keine gepr\u00fcften Rechtstexte. Vor dem Absenden passt du sie auf dein Projekt an; die eckigen Klammern ersetzt du durch die Fundstelle in deiner Unterlage. Anrede und Schluss setzen die Vergabeportale selbst.'));\n\n            liste.forEach(function (item) {\n                var b = item.b;\n                var karte = el('div', 'aia-bf');\n                var head = el('div', 'aia-bf-head');\n                head.appendChild(el('span', 'aia-bf-kenn', b.kenn));\n                head.appendChild(el('span', 'aia-bf-anlass', b.anlass));\n                if (b.art === 'rueckfrage') {\n                    head.appendChild(el('span', 'aia-bf-art', 'R\u00fcckfrage, keine L\u00fccke'));\n                }\n                karte.appendChild(head);\n\n                karte.appendChild(el('p', 'aia-bf-text', '\u201e' + b.text + '\"'));\n\n                item.anpassung.forEach(function (t) {\n                    karte.appendChild(el('p', 'aia-bf-note', 'Anpassen: ' + t));\n                });\n\n                if (b.note) { karte.appendChild(el('p', 'aia-bf-note', b.note)); }\n\n                var herkunft = (b.quelle === 't02')\n                    ? 'Nach festen Regeln ausformuliert.'\n                    : 'Entwurf dieses Werkzeugs.';\n                karte.appendChild(el('p', 'aia-bf-meta', 'Ausgel\u00f6st durch: ' + item.trigger.join(' \u00b7 ') + '. ' + herkunft));\n\n                blk.appendChild(karte);\n            });\n            return blk;\n        }\n\n        function blockE() {\n            var blk = el('div', 'aia-blk');\n            blk.appendChild(el('h4', 'aia-blk-title', 'E \u00b7 Annahmen f\u00fcr das Angebot'));\n            var alle = luecken();\n            if (alle.length === 0) {\n                blk.appendChild(el('p', 'aia-blk-lead', 'Noch keine L\u00fccke, also noch keine Annahme n\u00f6tig. Sobald hier Zeilen stehen, geh\u00f6ren sie in die B\u00fcrodatei und nicht in das Angebotsschreiben.'));\n                return blk;\n            }\n            blk.appendChild(el('p', 'aia-blk-lead', 'F\u00fcr jede L\u00fccke, zu der du keine Bieterfrage stellst oder auf die keine Antwort kommt, h\u00e4ltst du hier fest, womit du gerechnet hast. Diese Liste bleibt in der B\u00fcrodatei. Ein Vorbehalt im Angebotsschreiben, der die ausgeschriebenen Pflichten \u00e4ndert oder einschr\u00e4nkt, kann als \u00c4nderung an den Vergabeunterlagen gelesen werden und zum Ausschluss f\u00fchren.'));\n\n            alle.forEach(function (f) {\n                var z = el('div', 'aia-ann');\n                var key = el('span', 'aia-ann-key');\n                key.appendChild(el('b', '', f.nr));\n                key.appendChild(document.createTextNode(' ' + f.kurz + ': Wir haben angenommen, dass'));\n                z.appendChild(key);\n                var inp = el('input', 'aia-input aia-input-sm');\n                inp.type = 'text';\n                inp.setAttribute('aria-label', 'Annahme zu Frage ' + f.nr);\n                inp.autocomplete = 'off';\n                inp.value = state.annahme[f.nr] ? state.annahme[f.nr] : '';\n                inp.addEventListener('input', function () {\n                    state.annahme[f.nr] = inp.value;\n                    speichern();\n                });\n                z.appendChild(inp);\n                blk.appendChild(z);\n            });\n            return blk;\n        }\n\n        function blockF() {\n            var f = el('div', 'aia-sheet-foot');\n            f.appendChild(el('p', '', 'Dieses Blatt ist eine Arbeitshilfe und ersetzt keine Rechtsberatung. Bei Ausschlussrisiko, R\u00fcge oder Nachtrag fragst du die Vergabestelle und einen Fachanwalt f\u00fcr Vergaberecht.'));\n            f.appendChild(el('p', '', 'Die Kapitelnummern folgen der Gliederung der deutschen Muster-AIA. Eine abweichende Gliederung in deiner Unterlage ist kein Mangel.'));\n            f.appendChild(el('p', '', 'Fragenraster Stand 09\/2026, Pr\u00fcftag der Quellen 31.07.2026, gegengepr\u00fcft am 14.09.2026.'));\n            return f;\n        }\n\n        function baueBlatt() {\n            blattEl.textContent = '';\n            blattEl.appendChild(kopfBlock());\n\n            if (beantwortet() === 0) {\n                var leer = el('div', 'aia-blk');\n                leer.appendChild(el('h4', 'aia-blk-title', 'Noch nichts eingetragen'));\n                leer.appendChild(el('p', 'aia-blk-lead', 'Sobald du die erste Frage beantwortest, f\u00fcllt sich dieses Blatt: oben die Angaben, die du gefunden hast, darunter die L\u00fccken nach Gewicht sortiert, dann die passenden Bieterfragen und zuletzt die Zeilen f\u00fcr deine Kalkulationsannahmen.'));\n                leer.appendChild(el('p', 'aia-blk-lead', 'Wenn du lieber auf Papier mitschreibst: Die Schaltfl\u00e4che \u201eLeeres Raster drucken\" gibt alle ' + FRAGEN.length + ' Fragen mit Ankreuzk\u00e4stchen und Notizlinie aus.'));\n                blattEl.appendChild(leer);\n                blattEl.appendChild(blockF());\n                blattEl.appendChild(aktionsZeile());\n                return;\n            }\n\n            blattEl.appendChild(blockB());\n            blattEl.appendChild(blockC());\n            blattEl.appendChild(blockD());\n            blattEl.appendChild(blockE());\n            blattEl.appendChild(blockF());\n            blattEl.appendChild(aktionsZeile());\n        }\n\n        function aktionsZeile() {\n            var wrap = el('div', 'aia-sheet-aktion');\n            wrap.style.marginTop = '14px';\n            var row = el('div', 'aia-toolbar-row');\n            var b1 = el('button', 'aia-btn', 'Ergebnisblatt drucken');\n            b1.type = 'button';\n            b1.addEventListener('click', function () { drucke('blatt'); });\n            var b2 = el('button', 'aia-btn aia-btn-ghost', 'Zur\u00fcck zu den Fragen');\n            b2.type = 'button';\n            b2.addEventListener('click', function () {\n                var ziel = root.querySelector('#aiaGruppe1');\n                if (ziel) { ziel.scrollIntoView({ behavior: 'smooth', block: 'start' }); }\n            });\n            row.appendChild(b1);\n            row.appendChild(b2);\n            wrap.appendChild(row);\n            return wrap;\n        }\n\n        \/* ---------- Leeres Raster zum Mitschreiben ---------- *\/\n\n        function baueRaster() {\n            rasterEl.textContent = '';\n\n            var kopf = el('div', 'aia-r-kopf');\n            kopf.appendChild(el('div', 'aia-sheet-marke', 'CAD-Kompass \u00b7 AIA-Lesehilfe'));\n            kopf.appendChild(el('h3', 'aia-sheet-title', 'Fragenraster zum Mitschreiben'));\n            rasterEl.appendChild(kopf);\n\n            var felder = el('div', 'aia-r-felder');\n            ['Projekt', 'Auftraggeber', 'AIA und Fassung', 'Bearbeiter', 'Datum'].forEach(function (t) {\n                var f = el('span', 'aia-r-feld', t + ': ______________________');\n                felder.appendChild(f);\n            });\n            rasterEl.appendChild(felder);\n\n            GRUPPEN.forEach(function (g, i) {\n                var box = el('div', 'aia-r-group');\n                box.appendChild(el('div', 'aia-r-group-title', (i + 1) + ' \u00b7 ' + g.titel));\n                FRAGEN.filter(function (f) { return f.g === g.id; }).forEach(function (f) {\n                    var q = el('div', 'aia-r-q');\n                    var head = el('div', 'aia-r-q-head');\n                    head.appendChild(el('span', 'aia-r-q-nr', f.nr));\n                    head.appendChild(document.createTextNode(f.frage + '  (' + GEWICHT[f.gew].label + ')'));\n                    q.appendChild(head);\n                    q.appendChild(el('p', 'aia-r-ort', f.ort));\n                    var boxes = el('div', 'aia-r-boxes');\n                    ANTW.forEach(function (a) { boxes.appendChild(el('span', 'aia-r-box', a.label)); });\n                    boxes.appendChild(el('span', 'aia-r-line', ''));\n                    q.appendChild(boxes);\n                    box.appendChild(q);\n                });\n                rasterEl.appendChild(box);\n            });\n\n            var fuss = el('p', 'aia-r-ort');\n            fuss.textContent = 'Die Linie rechts ist f\u00fcr die Fundstelle. Arbeitshilfe, keine Rechtsberatung. Fragenraster Stand 09\/2026, Pr\u00fcftag der Quellen 31.07.2026, gegengepr\u00fcft am 14.09.2026.';\n            rasterEl.appendChild(fuss);\n        }\n\n        \/* ---------- Kurzblatt ---------- *\/\n\n        function baueKurzblatt() {\n            kurzEl.textContent = '';\n\n            var vorn = el('div', 'aia-k-vorn');\n            var kopf = el('div', 'aia-sheet-kopf');\n            kopf.appendChild(el('div', 'aia-sheet-marke', 'CAD-Kompass \u00b7 AIA-Lesehilfe \u00b7 Kurzblatt'));\n            kopf.appendChild(el('h3', 'aia-sheet-title', 'Vor dem Angebot: ' + wort(KERN.length) + ' Kernfragen'));\n            vorn.appendChild(kopf);\n            vorn.appendChild(el('p', 'aia-k-lead', 'F\u00fcr den ersten Blick in die Vergabeunterlagen, auch wenn dort nur ein Satz zu BIM steht. Schweigen die Unterlagen zu einer Frage, kreuzt du \u201enein\" an. Steht nur ein Teil da oder nur ein pauschaler Satz, kreuzt du \u201eunklar\" an.'));\n            vorn.appendChild(el('p', 'aia-k-lead aia-k-nurschirm', 'Die Nummern unter jeder Frage zeigen, wo das Raster dieser Lesehilfe genauer nachfragt.'));\n\n            var felder = el('div', 'aia-k-felder');\n            [['Projekt', state.kopf.projekt], ['Auftraggeber', state.kopf.ag], ['Bearbeiter und Datum', state.kopf.bearbeiter], ['Frist f\u00fcr Bieterfragen', '']].forEach(function (p) {\n                felder.appendChild(el('span', '', p[0] + ': ' + (p[1] ? p[1] : '____________________')));\n            });\n            vorn.appendChild(felder);\n\n            KERN.forEach(function (k, i) {\n                var q = el('div', 'aia-k-q');\n                var head = el('div', 'aia-k-q-head');\n                head.appendChild(el('span', 'aia-k-nr', String(i + 1)));\n                head.appendChild(el('span', '', k.text));\n                q.appendChild(head);\n                q.appendChild(el('p', 'aia-k-ref', 'Im Raster: ' + k.fragen.join(', ')));\n                var boxes = el('div', 'aia-k-boxes');\n                ANTW.forEach(function (a) { boxes.appendChild(el('span', 'aia-k-box', a.label)); });\n                boxes.appendChild(el('span', 'aia-k-line', ''));\n                q.appendChild(boxes);\n                vorn.appendChild(q);\n            });\n\n            var fv = el('div', 'aia-sheet-foot');\n            fv.appendChild(el('p', '', 'Steht fast \u00fcberall \u201enein\", stellst du zuerst die Fragen 1 bis 4. Sie treffen die Unsch\u00e4rfen, die sonst zu Nachtr\u00e4gen f\u00fchren, und geh\u00f6ren in die ersten Tage der Frist, solange Zeit zum Rechnen bleibt (Themenfeld 1 \u00b7 Das Vergabe-PDF lesen). Was sonst fehlt und deinen Preis ber\u00fchrt, wird ebenfalls eine Bieterfrage, eine Frage je Formularfeld; Formulierungen schl\u00e4gt das Ergebnisblatt dieser Lesehilfe vor.'));\n            fv.appendChild(el('p', '', 'Bleibt eine Frage ohne Antwort, rechnest du mit einer Annahme und h\u00e4ltst sie in deinen Kalkulationsunterlagen fest, nicht im Angebot (Themenfeld 2 \u00b7 Die d\u00fcnne AIA). Ein Vorbehalt im Angebotsschreiben, der die ausgeschriebenen Pflichten \u00e4ndert, kann zum Ausschluss f\u00fchren. Arbeitshilfe, keine Rechtsberatung.'));\n            if (window.location.protocol.indexOf('http') === 0) {\n                fv.appendChild(el('p', 'aia-k-url', 'Online: ' + window.location.origin + window.location.pathname + window.location.search));\n            }\n            vorn.appendChild(fv);\n            kurzEl.appendChild(vorn);\n\n            var hinten = el('div', 'aia-k-rueck');\n            var kopf2 = el('div', 'aia-sheet-kopf');\n            kopf2.appendChild(el('div', 'aia-sheet-marke', 'CAD-Kompass \u00b7 AIA-Lesehilfe \u00b7 Kurzblatt, R\u00fcckseite'));\n            kopf2.appendChild(el('h3', 'aia-sheet-title', 'Nach dem Zuschlag: was feststehen sollte'));\n            hinten.appendChild(kopf2);\n            hinten.appendChild(el('p', 'aia-k-lead', 'F\u00fcr Projektleitung und Konstruktion. Die meisten Punkte landen im BIM-Abwicklungsplan (BAP), und zu jeder Zeile steht die Seite, auf der es erkl\u00e4rt ist.'));\n\n            NACH_ZUSCHLAG.forEach(function (g) {\n                hinten.appendChild(el('div', 'aia-sub', g.titel));\n                g.punkte.forEach(function (p) {\n                    var z = el('div', 'aia-k-punkt');\n                    var body = el('div', 'aia-k-body');\n                    body.appendChild(document.createTextNode(p.text));\n                    body.appendChild(el('span', 'aia-k-seite', p.seite));\n                    z.appendChild(body);\n                    z.appendChild(el('span', 'aia-k-wer', 'wer, bis'));\n                    hinten.appendChild(z);\n                });\n            });\n            kurzEl.appendChild(hinten);\n\n            var wrap = el('div', 'aia-sheet-aktion');\n            wrap.style.marginTop = '14px';\n            var row = el('div', 'aia-toolbar-row');\n            var b1 = el('button', 'aia-btn', 'Kurzblatt drucken');\n            b1.type = 'button';\n            b1.addEventListener('click', function () { drucke('kurz'); });\n            var b2 = el('button', 'aia-btn aia-btn-ghost', 'Zur\u00fcck zu den Fragen');\n            b2.type = 'button';\n            b2.addEventListener('click', function () {\n                var ziel = root.querySelector('#aiaGruppe1');\n                if (ziel) { ziel.scrollIntoView({ behavior: 'smooth', block: 'start' }); }\n            });\n            row.appendChild(b1);\n            row.appendChild(b2);\n            wrap.appendChild(row);\n            kurzEl.appendChild(wrap);\n        }\n\n        \/* ---------- Drucken ----------\n           Gedruckt wird eine Kopie des Werkzeugs in einem unsichtbaren Rahmen, damit Kopf, Men\u00fc und Fu\u00df der\n           umgebenden Seite nicht mit aufs Papier kommen. Geht das nicht, druckt die Seite selbst. *\/\n\n        function druckeImRahmen(modus) {\n            var stil = document.querySelector('style[data-aia-stil]');\n            if (!stil) { return false; }\n            var rahmen = document.createElement('iframe');\n            rahmen.setAttribute('aria-hidden', 'true');\n            rahmen.setAttribute('tabindex', '-1');\n            rahmen.style.cssText = 'position:fixed;right:0;bottom:0;width:0;height:0;border:0;';\n            document.body.appendChild(rahmen);\n            try {\n                var rw = rahmen.contentWindow;\n                var rd = rw.document;\n                var html = rd.documentElement;\n                if (!html) {\n                    html = rd.createElement('html');\n                    rd.appendChild(html);\n                }\n                var kopf = rd.head;\n                if (!kopf) {\n                    kopf = rd.createElement('head');\n                    html.appendChild(kopf);\n                }\n                var rumpf = rd.body;\n                if (!rumpf) {\n                    rumpf = rd.createElement('body');\n                    html.appendChild(rumpf);\n                }\n                html.setAttribute('lang', 'de');\n                var titel = rd.createElement('title');\n                titel.textContent = 'AIA-Lesehilfe';\n                kopf.appendChild(titel);\n                var s = rd.createElement('style');\n                s.textContent = stil.textContent;\n                kopf.appendChild(s);\n                rumpf.style.margin = '0';\n                rumpf.style.fontFamily = window.getComputedStyle(root).fontFamily;\n                var kopie = rd.importNode(root, true);\n                var quelle = root.querySelectorAll('input');\n                var ziel = kopie.querySelectorAll('input');\n                Array.prototype.forEach.call(quelle, function (inp, i) {\n                    if (ziel[i]) { ziel[i].setAttribute('value', inp.value); }\n                });\n                kopie.classList.remove('aia-print-raster');\n                kopie.classList.remove('aia-print-kurz');\n                if (modus === 'raster') { kopie.classList.add('aia-print-raster'); }\n                if (modus === 'kurz') { kopie.classList.add('aia-print-kurz'); }\n                rumpf.appendChild(kopie);\n            } catch (e) {\n                if (rahmen.parentNode) { rahmen.parentNode.removeChild(rahmen); }\n                return false;\n            }\n            window.setTimeout(function () {\n                try {\n                    rahmen.contentWindow.focus();\n                    rahmen.contentWindow.print();\n                } catch (e) {\n                    \/* Druck im Rahmen gesperrt: der Knopf bleibt nutzbar. *\/\n                }\n                window.setTimeout(function () {\n                    if (rahmen.parentNode) { rahmen.parentNode.removeChild(rahmen); }\n                }, 1500);\n            }, 100);\n            return true;\n        }\n\n        function drucke(modus) {\n            if (druckeImRahmen(modus)) { return; }\n            root.classList.remove('aia-print-raster');\n            root.classList.remove('aia-print-kurz');\n            if (modus === 'raster') { root.classList.add('aia-print-raster'); }\n            if (modus === 'kurz') { root.classList.add('aia-print-kurz'); }\n            window.setTimeout(function () { window.print(); }, 40);\n        }\n\n        window.addEventListener('afterprint', function () {\n            root.classList.remove('aia-print-raster');\n            root.classList.remove('aia-print-kurz');\n        });\n\n        \/* ---------- Schaltflaechen ---------- *\/\n\n        root.querySelector('#aiaZumBlatt').addEventListener('click', zumBlatt);\n        root.querySelector('#aiaDruckBlatt').addEventListener('click', function () { drucke('blatt'); });\n        root.querySelector('#aiaDruckRaster').addEventListener('click', function () { drucke('raster'); });\n        root.querySelector('#aiaDruckKurz').addEventListener('click', function () { drucke('kurz'); });\n        root.querySelector('#aiaLoeschen').addEventListener('click', alleLoeschen);\n\n        \/* ---------- Start ---------- *\/\n\n        laden();\n        kopfFelderSetzen();\n        baueNav();\n        baueKatalog();\n        baueRaster();\n        baueBlatt();\n        baueKurzblatt();\n        fortschritt();\n    })();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>AIA-Lesehilfe Fragen an eine fremde AIA, Gruppe f\u00fcr Gruppe. Am Ende steht ein Blatt zum Ausdrucken: was gefordert ist, was [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[51],"tags":[],"class_list":["post-2589","post","type-post","status-publish","format-standard","hentry","category-tf2-anbieten-und-zusagen"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":false,"author_link":"https:\/\/cad-kompass.de\/?author=1"},"uagb_comment_info":0,"uagb_excerpt":"AIA-Lesehilfe Fragen an eine fremde AIA, Gruppe f\u00fcr Gruppe. Am Ende steht ein Blatt zum Ausdrucken: was gefordert ist, was [&hellip;]","_links":{"self":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts\/2589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2589"}],"version-history":[{"count":2,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts\/2589\/revisions"}],"predecessor-version":[{"id":2663,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=\/wp\/v2\/posts\/2589\/revisions\/2663"}],"wp:attachment":[{"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cad-kompass.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}