/* FAP – Gestaltung nach FPR V58 (Tokens, Komponenten). Keine Inline-Styles in den Seiten. */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
:root{--navy:#04457A;--blue:#1668E3;--ink:#16212E;--paper:#fff;--panel:#F2F5F9;--line:#D6DEE8;--muted:#5F6F82;--danger:#9B2C2C;--ok:#1F7A4D;
 --g:#DDF1E6;--g-ink:#145C36;--y:#FFF2CC;--r:#F8D7D7;--o:#FBE3CF;--akt:#E3EEFC;--akt-ink:#0B3B7A;--hell:#F7FAFF;
 --st-blau:#1558C0;--st-blau-bg:#EAF1FD;--st-orange:#B45309;--st-orange-bg:#FFF4E5;--st-gruen:#1F7A4D;--st-gruen-bg:#E3F4EA;--st-rot:#B42318;--st-rot-bg:#FDECEA;--st-grau:#56616F;--st-grau-bg:#EEF1F4}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 "IBM Plex Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper)}
main{max-width:1000px;margin:0 auto;padding:18px 24px 40px}
main.breit{max-width:1180px}
h1{font-size:1.35rem;margin:0 0 .8rem}h2{font-size:1.08rem;margin:1.2rem 0 .6rem;color:var(--navy)}h3{font-size:1rem;margin:1rem 0 .4rem}
p{margin:.3rem 0 .7rem}
a{color:var(--navy)}
[hidden]{display:none!important}
.klein{color:var(--muted);font-size:14px}
.testband{background:#9B2C2C;color:#fff;text-align:center;font-size:14px;padding:.25rem .5rem;font-weight:600;letter-spacing:.02em}
button{border:0;border-radius:4px;padding:.5rem 1rem;background:var(--navy);color:#fff;font:inherit;cursor:pointer}
button.sec{background:var(--panel);color:var(--ink);border:1px solid var(--line)}
button.haupt{background:var(--blue);font-weight:600;padding:.6rem 1.2rem;font-size:1rem}
button.link{background:none;color:var(--navy);padding:0;text-decoration:underline;font-size:14px}
button.warn{background:var(--danger)}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label.kachel:focus-within{outline:2px solid var(--blue);outline-offset:2px}
input,select,textarea{border:1px solid var(--line);border-radius:4px;padding:.45rem .6rem;font:inherit;background:#fff;color:var(--ink)}
input.zahl{width:9rem;text-align:right}
textarea{width:100%;min-height:4rem;resize:vertical}
.zeile{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.zeile.zwischen{justify-content:space-between}
.lab{display:block;font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:.2rem 0 .25rem}
/* Rollenband, Schritte, Fortschritt (Portal) */
.band{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-radius:8px;padding:.7rem 1rem;margin:0 0 .7rem;color:#fff;font-size:1.02rem;background:var(--navy)}
.band button{background:none;color:#fff;text-decoration:underline;padding:0;font-size:.9rem}
.seitenleiste{display:flex;gap:.3rem;flex-wrap:wrap;margin:.4rem 0 .6rem;padding:0;list-style:none}
.seitenleiste button{background:#EEF2F6;color:var(--muted);border-radius:999px;padding:.3rem .8rem;font-size:14px}
.seitenleiste button.erl{background:var(--g);color:var(--g-ink)}
.seitenleiste button.akt{background:var(--blue);color:#fff;font-weight:600}
.fort{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:.2rem 0 .8rem}
.balken{flex:1 1 220px;height:8px;border-radius:99px;background:#E3E8EE;overflow:hidden;min-width:120px}
.balken i{display:block;height:100%;background:var(--ok);border-radius:99px}
.fort span{font-size:14px;color:var(--muted)}
.unter{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 .6rem}
.unter button{border:1px solid var(--line);border-radius:4px;padding:.25rem .7rem;color:var(--muted);background:#fff;font-size:14px}
.unter button.akt{border-color:var(--blue);color:var(--akt-ink);font-weight:600;background:var(--akt)}
.unter button.erl{color:var(--g-ink);background:var(--g);border-color:#9CC9AE}
.bereich{font-size:1.05rem;background:var(--panel);border-radius:8px;padding:.55rem .9rem;margin:.2rem 0 .6rem}
.bereich small{color:var(--muted);font-size:14px}
/* Fragen */
.frage{border-top:1px solid #E3E8EE;padding:.95rem 0}
.frage:first-of-type{border-top:0}
.ftext{font-size:1.02rem;margin:0 0 .3rem;font-weight:600}
.hilfe{color:var(--muted);font-size:14px;margin:0 0 .45rem}
.kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.45rem;margin:.3rem 0 .2rem}
.kacheln.drei{grid-template-columns:repeat(3,minmax(0,1fr))}
.liste{display:grid;grid-template-columns:1fr;gap:.4rem;margin:.3rem 0 .2rem}
label.kachel{border:1px solid var(--line);border-radius:6px;padding:.55rem .75rem;background:#fff;display:flex;gap:.55rem;align-items:flex-start;cursor:pointer;line-height:1.35;min-width:0}
label.kachel input{margin:.2rem 0 0;flex:0 0 auto}
label.kachel small{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:.1rem}
label.kachel.an{border-color:var(--blue);background:var(--akt);font-weight:600;box-shadow:inset 0 0 0 1px var(--blue)}
label.kachel.wn{border-style:dashed;color:var(--muted)}
label.kachel.wn.an{color:var(--akt-ink)}
.kacheln.ohnepunkt label.kachel input{position:absolute;opacity:0;pointer-events:none}
.felder{display:flex;gap:.6rem 1.4rem;flex-wrap:wrap;margin-top:.55rem}
.felder label{display:flex;flex-direction:column;gap:.15rem;font-size:14px;color:var(--muted)}
.zusatz{margin-top:.45rem;display:flex;gap:1rem;flex-wrap:wrap;font-size:14px}
.bemerkung{margin-top:.5rem}
/* Unterlagen */
.doc{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;align-items:center;border:1px solid var(--line);border-radius:6px;padding:.5rem .75rem;margin:.4rem 0;font-size:.92rem;background:#fff}
.doc.fehlt{border-style:dashed;background:#FFFBEF}
.doc .zeile{gap:.4rem}
.doc input[type=file]{display:none}
/* Fussleiste */
.fussleiste{border-top:1px solid var(--line);padding:.8rem 0 0;display:flex;gap:.6rem;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:.6rem}
.fussleiste .links{margin-right:auto}
.gespeichert{background:var(--g);border:1px solid #9C9;border-radius:6px;padding:.3rem .7rem;font-weight:600;color:var(--g-ink);font-size:14px}
.gespeichert.laeuft{background:var(--panel);border-color:var(--line);color:var(--muted)}
.gespeichert.fehler{background:var(--st-rot-bg);border-color:#E3A0A0;color:var(--st-rot)}
/* Karten, Kopf, Status */
.mkarte{border:1px solid var(--line);border-radius:8px;background:#fff;padding:.9rem 1rem;min-width:0}
.mkarte>h3:first-child{margin-top:0}
.kopfzeile{background:var(--panel);border-radius:6px;padding:.7rem 1rem;margin:0 0 .8rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between}
.st{display:inline-block;border-radius:999px;padding:.05rem .6rem;font-size:.8rem;font-weight:600;white-space:nowrap}
.st.blau{color:var(--st-blau);background:var(--st-blau-bg)}.st.orange{color:var(--st-orange);background:var(--st-orange-bg)}.st.gruen{color:var(--st-gruen);background:var(--st-gruen-bg)}.st.rot{color:var(--st-rot);background:var(--st-rot-bg)}.st.grau{color:var(--st-grau);background:var(--st-grau-bg)}
.nschritt{border:2px solid var(--blue);border-radius:8px;padding:.85rem 1rem;margin:0 0 1rem;background:var(--hell)}
.nschritt h2{margin:0 0 .4rem}
.hinweis{background:var(--y);border-radius:6px;padding:.55rem .8rem;margin:.5rem 0}
.fehlerbox{background:var(--st-rot-bg);color:var(--st-rot);border-radius:6px;padding:.55rem .8rem;margin:.5rem 0}
.zwei{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:1.2rem;align-items:start}
@media (max-width:900px){.zwei{grid-template-columns:1fr}}
.grp{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem;margin:.35rem 0;background:#fff;font-size:.92rem}
.grp.akt{border-color:var(--blue);background:var(--akt)}
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:.6rem 0 1rem}
.karte{border:1px solid var(--line);border-radius:6px;padding:.6rem .7rem;min-width:0}
.karte b{display:block;font-size:14px;color:var(--muted);font-weight:500}
.karte .w{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}
table.l{width:100%;border-collapse:collapse}
table.l td,table.l th{border-bottom:1px solid var(--line);padding:.45rem .5rem;text-align:left;font-size:14px;vertical-align:top}
table.l th{color:var(--muted);font-weight:500}
.r{text-align:right;font-variant-numeric:tabular-nums}
.tabwrap{overflow-x:auto}
.kontrolle li{margin:.25rem 0}
.formular{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.7rem 1.2rem}
.formular label{display:flex;flex-direction:column;gap:.2rem;font-size:14px;color:var(--muted)}
.check{display:flex;gap:.5rem;align-items:center;font-size:.92rem}
.linkbox{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:var(--y);padding:.5rem .7rem;border-radius:4px;word-break:break-all;user-select:all}
.leer{color:var(--muted);font-style:italic}
.antw{color:var(--ink)}
.antw.wn{color:var(--st-orange);font-weight:600}
.antw.offen{color:var(--muted)}
@media (max-width:600px){main{padding:12px 14px 30px}.kacheln.drei{grid-template-columns:1fr}}
@media print{.testband,.fussleiste,.seitenleiste,.band button{display:none}}

.felder label.check{flex-direction:row;align-items:center;color:var(--ink)}
.abstand{margin-top:1rem}
details.auf{border:1px solid var(--line);border-radius:6px;margin:.4rem 0 .8rem;background:#fff}
details.auf>summary{cursor:pointer;padding:.5rem .75rem;color:var(--navy);font-weight:600;font-size:.94rem}
details.auf>div{padding:0 .75rem .6rem}
.grp>span:first-child{min-width:0}
.grp .aktionen{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem;flex:0 0 auto}
.zwei.gleich{grid-template-columns:1fr 1fr}
@media (max-width:900px){.zwei.gleich{grid-template-columns:1fr}}
td.nowrap{white-space:nowrap}
details.schritt{border-top:1px solid var(--line);padding:.3rem 0}
details.schritt>summary{cursor:pointer;font-weight:600;color:var(--navy);padding:.4rem 0}
/* P2.2: Felder, Raster, Tabellen, Triage */
.felder .feld{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.felder .feld.breit{flex:1 1 100%}
.felder .feld .kacheln,.felder .feld .liste{margin:0}
.flabel{font-size:14px;color:var(--muted)}
input.text{width:100%;max-width:32rem}
.raster{margin-top:.4rem}
.rzeile{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:.4rem 1rem;align-items:start;padding:.45rem 0;border-top:1px dashed var(--line)}
.rzeile:first-child{border-top:0}
.rlabel{font-size:.94rem;padding-top:.5rem}
@media (max-width:700px){.rzeile{grid-template-columns:1fr}.rlabel{padding-top:0}}
.kacheln.sonder{grid-template-columns:repeat(auto-fit,minmax(150px,240px));margin-top:.45rem}
.tab{margin-top:.5rem;display:flex;flex-direction:column;gap:.5rem}
.tzeile{border:1px solid var(--line);border-radius:6px;padding:.55rem .75rem;background:var(--hell)}
.tzeile .felder{margin-top:.3rem}
.mono span.merkmal{display:inline-block;font-family:ui-monospace,Menlo,monospace;font-size:13px;border:1px solid var(--line);border-radius:4px;padding:.05rem .4rem;margin:.15rem .25rem .15rem 0;color:var(--muted)}
.mono span.merkmal.an{color:var(--g-ink);background:var(--g);border-color:#9CC9AE}
.mono span.merkmal.unklar{color:var(--st-orange);background:var(--st-orange-bg)}
/* Ve4: Zuordnung zu Teilflotten, Tätigkeitsübersicht, Summe, Abschluss */
.zuordnung{border-left:3px solid var(--line);padding:.2rem 0 .2rem .8rem;margin:.5rem 0}
.tfzeile{margin:.35rem 0}.tfzeile .flabel{display:block;font-weight:600;font-size:14px;margin-bottom:.25rem}
.tfzeile .kacheln{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
details.info{margin:.1rem 0 .5rem;font-size:14px}details.info summary{cursor:pointer;color:var(--navy)}details.info ul{margin:.3rem 0 0;padding-left:1.2rem;color:var(--muted)}
.summe{font-weight:600;margin:.4rem 0}
.ort{margin:.6rem 0 .1rem}
/* P3 Auditor-Arbeitsplatz */
.reiter{margin:.4rem 0 1rem;flex-wrap:wrap}.reiter button small{color:var(--muted)}
ul.kurz{margin:.2rem 0 .4rem;padding-left:1.1rem}ul.kurz li{margin:.15rem 0}
.schritt5 h3{margin-top:.2rem;color:var(--navy)}
details.finding{border:1px solid var(--line);border-radius:6px;margin:.45rem 0;background:#fff}
details.finding>summary{cursor:pointer;padding:.55rem .7rem;list-style:none}details.finding>summary::-webkit-details-marker{display:none}
details.finding[open]>summary{border-bottom:1px solid var(--line);background:var(--hell)}
details.finding.verworfen{opacity:.65}
.fkoerper{padding:.4rem .9rem .8rem}.fkoerper h4{margin:.8rem 0 .25rem;font-size:14px;color:var(--navy)}
.fkoerper textarea,.kfeld textarea{width:100%;box-sizing:border-box}
.kfelder{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.4rem 0}
.kfeld{display:flex;flex-direction:column;gap:.2rem;font-size:14px;color:var(--muted);min-width:180px}.kfeld.breit{flex:1 1 100%}
.kfeld input.text{min-width:260px}
.mkarte.klausel{margin:.5rem 0}
.aufgaben{display:flex;flex-direction:column;gap:.2rem;margin:.3rem 0 .6rem}
.aufgaben label.check{font-size:14px}
section.vertrag{margin:0 0 1.5rem}
.doc .zeile{flex-wrap:wrap}.doc select{max-width:100%}
.rueckfrage{padding:.6rem .7rem}
.version{text-align:right;margin-top:1rem}
.st.art{color:var(--st-grau);background:transparent;border:1px solid var(--st-grau);font-weight:500}
.band .fapversion{color:#fff;font-weight:600;font-size:.95rem;margin-left:.35rem}
.ergebnis .betrag{font-size:1.25rem;font-weight:700;color:var(--navy)}
table.gesamt td.r{text-align:right;white-space:nowrap}
.klein.rot{color:var(--st-rot)}
.berechnung .fkoerper>.zeile>input[type=text]:first-child{flex:1 1 16rem;min-width:0}
.berechnung .fkoerper>input[type=text]{width:100%;margin-top:.4rem}
.fschritt{border-left:3px solid var(--line);padding:.2rem 0 .4rem .8rem;margin:.6rem 0}
.fschritt.jetzt{border-left-color:var(--blue);background:var(--hell)}
.fschritt h4 .nr{display:inline-block;min-width:1.4rem;height:1.4rem;line-height:1.4rem;border-radius:50%;background:var(--navy);color:#fff;text-align:center;font-size:.8rem;margin-right:.4rem}
.naechster{position:sticky;top:0;z-index:2;background:var(--akt);color:var(--akt-ink);border-radius:6px;padding:.55rem .8rem;margin:.2rem 0 .6rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.naechster.fertig{background:var(--g);color:var(--g-ink)}
.bteil{border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem;margin:.5rem 0;background:#fff}
.bteil.verworfen{opacity:.6}
.pruefliste{list-style:none;padding:0;margin:.3rem 0}.pruefliste li{padding:.1rem 0 .1rem 1.4rem;position:relative;font-size:.9rem}
.pruefliste li::before{position:absolute;left:0}.pruefliste li.ok::before{content:"✓";color:var(--ok)}.pruefliste li.nein::before{content:"✗";color:var(--danger)}
.pruefliste li.warn::before{content:"!";color:#9a5b00;font-weight:700}.pruefliste li.info::before{content:"i";color:var(--muted);font-style:italic}
.nfinline{margin-top:.5rem}.nfinline select{max-width:22rem}.nfinline input[type=text]{flex:1 1 16rem;min-width:0}
.zeile.einm input[type=text]:first-child{flex:1 1 14rem;min-width:0}
.fkoerper select{max-width:100%}.nfinline select{max-width:100%;min-width:0}
.bteil td input[aria-label^="Beleg"]{width:100%;min-width:12rem}
.hfeld{border-top:1px solid var(--line);padding:.6rem 0;display:grid;gap:.4rem}.hfeld textarea{width:100%}
/* P3 Ve5 – Cockpit in drei Arbeitsphasen */
.phasen{display:grid;grid-template-columns:auto 1.6fr 1.3fr 1fr;gap:.6rem;margin:.6rem 0 1.1rem;align-items:stretch}
.phase{border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:#fff;display:flex;flex-direction:column;gap:.4rem;min-width:0}
.phase.aktiv{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.phase.start{justify-content:center;background:var(--panel)}
.phase .ph-kopf{display:flex;align-items:center;gap:.45rem;font-size:14px;color:var(--navy)}
.ph-nr{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--panel);color:var(--navy);font-weight:700;font-size:13px;flex:none}
.phase.fertig .ph-nr,.phkarte.fertig .ph-nr{background:var(--ok);color:#fff}
.ph-knoepfe{display:flex;flex-wrap:wrap;gap:.3rem}
.phasen button{border:1px solid var(--line);border-radius:6px;padding:.3rem .65rem;color:var(--ink);background:#fff;font-size:14px}
.phasen button.akt{border-color:var(--blue);background:var(--akt);color:var(--akt-ink);font-weight:600}
.phasen button.neben{font-size:13px;color:var(--muted);border-style:dashed}
.phase.p-abschluss{background:var(--navy);border-color:var(--navy)}
.phase.p-abschluss .ph-kopf{color:#fff}.phase.p-abschluss .ph-nr{background:#fff;color:var(--navy)}
.phase.p-abschluss button.ziel{background:#fff;color:var(--navy);font-weight:700;border-color:#fff;font-size:15px;padding:.4rem .9rem}
.phase.p-abschluss button.ziel.akt{box-shadow:0 0 0 3px #8FB8F5}
.naechst{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--akt);border-left:5px solid var(--blue);border-radius:8px;padding:.8rem 1rem;margin:0 0 1rem}
.naechst p{margin:.15rem 0 0;font-size:1.05rem;font-weight:600;color:var(--navy)}
.phkarten{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:0 0 1rem}
.phkarte{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;background:#fff;display:flex;flex-direction:column;gap:.5rem}
.phkarte h3{margin:0;color:var(--navy);font-size:1.1rem}
.phk-kopf{display:flex;gap:.7rem;align-items:center}.phk-kopf .ph-nr{width:2.2rem;height:2.2rem;font-size:16px}
.phkarte .pruefliste{flex:1;margin:.2rem 0}.phkarte>button{align-self:flex-start}
.pruefliste li.info{list-style:none;color:var(--muted);font-size:14px;margin-left:-.2rem}
.phkarte.abschluss{border:2px solid var(--navy);background:linear-gradient(180deg,#F4F8FE,#fff)}
.ergebnisse{border-radius:14px;padding:1rem 1.2rem 1.1rem;margin:0 0 1rem;background:var(--navy);color:#fff}
.ergebnisse h2{color:#fff;margin:.2rem 0}.ergebnisse .klein{color:#C9D3E0}
.ausgabe{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:.7rem 0 .4rem}
.akachel{display:flex;gap:.7rem;align-items:center;text-align:left;background:#fff;color:var(--ink);border-radius:10px;padding:.85rem .9rem;border:0;min-width:0}
.akachel:hover{box-shadow:0 0 0 3px #8FB8F5}.akachel:disabled{opacity:.6}
.akachel .ic{flex:none;width:2.4rem;height:2.4rem;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.akachel .at{display:flex;flex-direction:column;min-width:0}.akachel b{font-size:15px;color:var(--navy)}.akachel small{color:var(--muted);font-size:13px}
@media (max-width:900px){.phasen{grid-template-columns:1fr 1fr}.phkarten{grid-template-columns:1fr}.ausgabe{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.phasen{grid-template-columns:1fr}.ausgabe{grid-template-columns:1fr}}
/* P3 Ve6 – Rückmeldungen bei Aktionen */
.aktion{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.rm{font-size:14px;font-weight:600}.rm:empty{display:none}
.rm.laeuft{color:var(--muted);font-weight:500}.rm.ok{color:var(--g-ink)}.rm.fehler{color:var(--st-rot)}.rm.dirty{color:var(--st-orange)}
.st.lila{color:#5B3FA8;background:#EFEAFB}.st.gross{font-size:.95rem;padding:.25rem .9rem}
button.gross{font-size:1.08rem;padding:.8rem 1.6rem}
.erfolg{background:var(--g);color:var(--g-ink);border-left:5px solid var(--ok);border-radius:8px;padding:.8rem 1rem;margin:0 0 1rem;font-size:1.02rem}
.ok-text{color:var(--g-ink);font-weight:600}
/* P3 Ve6 – Berichte und Freigabe im Cockpit-Design */
.bkopf{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem .9rem;margin:0 0 1rem;background:linear-gradient(180deg,#F4F8FE,#fff)}
.bkopf h2{margin:.1rem 0 .2rem;font-size:1.25rem}
.bschritte{list-style:none;padding:0;margin:.8rem 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.bschritte button{width:100%;display:flex;gap:.55rem;align-items:center;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:.6rem .65rem;min-width:0}
.bschritte .at{display:flex;flex-direction:column;min-width:0}.bschritte b{font-size:14px;color:var(--navy)}.bschritte small{font-size:12.5px;color:var(--muted);line-height:1.3}
.bschritte li.aktiv button{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--akt)}
.bschritte li.fertig .ph-nr{background:var(--ok);color:#fff}
.bschritt{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem 1.1rem;margin:0 0 1rem;background:#fff;scroll-margin-top:12px}
.bs-kopf{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;margin:0 0 .9rem}
.bs-kopf .ph-nr{width:2.2rem;height:2.2rem;font-size:16px}.bs-kopf h3{margin:0;color:var(--navy);font-size:1.12rem}
.bs-kopf .klein{display:block;line-height:1.4}
.tkacheln{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.tkachel{border:1px solid var(--line);border-left:4px solid var(--st-orange);border-radius:10px;padding:.75rem .9rem;display:flex;flex-direction:column;gap:.45rem;min-width:0;background:#fff}
.tkachel.ok{border-left-color:var(--ok)}
.tkachel.offen{grid-column:1/-1;border-color:var(--blue);border-left-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.tkachel header{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;flex-wrap:wrap}
.tkachel h4{margin:0;font-size:1rem;color:var(--ink)}
.tkachel header .zeile{gap:.3rem}
.tk-text{color:var(--ink);font-size:14.5px;line-height:1.5;max-height:9.2em;overflow:hidden;position:relative}
.tk-text p{margin:0 0 .35rem}
.tk-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.6em;background:linear-gradient(rgba(255,255,255,0),#fff)}
.tk-aktionen{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:.2rem}
.tkachel textarea{font-size:15px;line-height:1.5}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{display:inline-flex;gap:.4rem;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:14px;cursor:pointer;background:#fff}
.chip.an{border-color:var(--blue);background:var(--akt);color:var(--akt-ink);font-weight:600}
.chip input{margin:0}
.zaehler{display:flex;gap:.4rem;flex-wrap:wrap}
.zaehler .z{font-size:13px;border-radius:6px;padding:.15rem .5rem;background:var(--panel);color:var(--muted)}
.zaehler .z b{color:var(--ink);margin-right:.15rem}
.zaehler .z.gruen{background:var(--st-gruen-bg)}.zaehler .z.rot{background:var(--st-rot-bg)}.zaehler .z.orange{background:var(--st-orange-bg)}
.wkarte{border:1px solid var(--line);border-left:5px solid var(--st-orange);border-radius:10px;padding:.8rem 1rem;margin:0 0 .8rem;display:flex;flex-direction:column;gap:.55rem}
.wkarte.wesentlich{border-left-color:var(--st-rot);background:#FFFCFC}.wkarte.ok{border-left-color:var(--ok)}
.wkarte header{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;flex-wrap:wrap}.wkarte h4{margin:.1rem 0 0;font-size:1rem}
.vergleich{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.vergleich .seite{background:var(--panel);border-radius:8px;padding:.55rem .7rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}
.vergleich .seite b{font-size:15px}.vergleich .seite small{color:var(--muted);font-size:13px}
.kacheln.klaer{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.klaerung{background:var(--st-gruen-bg);border-radius:8px;padding:.55rem .75rem;font-size:14.5px}
.freigabe-aktion{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
.pruefliste.gross li{font-size:15px;padding:.2rem 0 .2rem 1.6rem}
@media (max-width:900px){.bschritte{grid-template-columns:1fr 1fr}.tkacheln,.tkacheln.zwei{grid-template-columns:1fr}.vergleich{grid-template-columns:1fr}.bs-kopf{grid-template-columns:auto 1fr}.bs-kopf>.st{grid-column:1/-1;justify-self:start}}
@media (max-width:520px){.bschritte{grid-template-columns:1fr}}
/* P3 Ve6 – Findings im Cockpit-Design */
.filterkacheln{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:.7rem}
.filterkacheln .fk{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:.55rem .75rem;text-align:left}
.filterkacheln .fk b{font-size:1.35rem;line-height:1.2;color:var(--navy)}.filterkacheln .fk span{font-size:13.5px;color:var(--muted)}
.filterkacheln .fk.offen{border-left-color:var(--st-orange)}.filterkacheln .fk.bestaetigt{border-left-color:var(--ok)}.filterkacheln .fk.pruefung{border-left-color:var(--st-blau)}.filterkacheln .fk.verworfen{border-left-color:var(--st-grau)}
.filterkacheln .fk.akt{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--akt)}
.naechst.fertig{background:var(--g);border-left-color:var(--ok)}.naechst.fertig p{color:var(--g-ink)}
.fwerkzeug{margin:0 0 .6rem}
.fgruppe{margin:0 0 1.1rem}
.fg-kopf{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-bottom:2px solid var(--navy);padding:0 0 .3rem;margin:0 0 .5rem}
.fg-kopf h3{margin:0;color:var(--navy);font-size:1.05rem}
details.finding{border-radius:10px;border-left:5px solid var(--line);margin:.5rem 0}
details.finding.st-offen{border-left-color:var(--st-orange)}details.finding.st-ok{border-left-color:var(--ok)}details.finding.st-verworfen{border-left-color:var(--st-grau)}
details.finding>summary{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.7rem .9rem}
details.finding>summary:hover{background:var(--hell)}
.fs-titel{display:flex;flex-direction:column;gap:.25rem;min-width:0}.fs-titel>b{font-size:15.5px;line-height:1.4}
.fs-titel .zeile{gap:.3rem}
.fs-status{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex:none}
.fs-status::after{content:"▾";color:var(--muted);font-size:14px}details.finding[open] .fs-status::after{content:"▴"}
.fkoerper{padding:.6rem 1rem 1rem}
.naechster{border-left:5px solid var(--blue);border-radius:8px;padding:.7rem .9rem;font-size:15px}
.naechster.fertig{border-left-color:var(--ok)}
.fschritt{border:1px solid var(--line);border-left:1px solid var(--line);border-radius:10px;padding:.6rem .9rem .8rem;margin:.6rem 0;background:#fff}
.fschritt.jetzt{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:#fff}
.fschritt h4{margin:.1rem 0 .5rem;font-size:15px;color:var(--navy);display:flex;align-items:center}
.fschritt h4 .nr{min-width:1.8rem;height:1.8rem;line-height:1.8rem;font-size:.85rem;background:var(--panel);color:var(--navy);font-weight:700}
.fschritt.jetzt h4 .nr{background:var(--blue);color:#fff}
.fentscheid{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:.6rem 0 .2rem;margin-top:.6rem;z-index:1}
@media (max-width:900px){.filterkacheln{grid-template-columns:repeat(3,minmax(0,1fr))}details.finding>summary{flex-direction:column}.fs-status{flex-direction:row;align-items:center}}
@media (max-width:520px){.filterkacheln{grid-template-columns:1fr 1fr}}
.st.beleg{background:transparent;border:1px dashed currentColor;font-weight:500}.st.beleg.gruen{color:var(--st-gruen)}.st.beleg.orange{color:var(--st-orange)}.st.beleg.grau{color:var(--st-grau)}.st.beleg.blau{color:var(--st-blau)}
.mkarte.klausel{border-left:4px solid var(--st-orange);border-radius:10px}.mkarte.klausel.ok{border-left-color:var(--ok)}
.nfkarte{border-left:4px solid var(--line);border-radius:10px;margin:.6rem 0}.nfkarte.offen{border-left-color:var(--st-orange)}.nfkarte.beantwortet{border-left-color:var(--blue)}.nfkarte.erledigt{border-left-color:var(--ok)}
section.vertrag.bschritt .kopfzeile,.bschritt>.kopfzeile{margin-top:0}
select[aria-label="Dokument"]{max-width:100%;min-width:0}.zeile>select{max-width:100%}
/* P3 Ve7 – Entscheidungsorientierte Detailansichten: Worum geht es? Was ist bekannt? Was fehlt? Was ist zu tun? */
.entscheid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:.2rem 0 .8rem}
.entscheid .eblock{background:var(--hell);border:1px solid var(--line);border-radius:10px;padding:.65rem .8rem}
.entscheid .eblock p{margin:.15rem 0 .35rem}.entscheid .eblock ul.kurz{margin:.2rem 0;padding-left:1.1rem}.entscheid .eblock li{margin:.15rem 0}
.entscheid .eblock.tun{grid-column:1/-1;background:#fff;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.entscheid .eblock.tun .naechster{position:static;margin:.1rem 0 .55rem}
.entscheid .entscheide{gap:.5rem;align-items:center}
@media (max-width:900px){.entscheid{grid-template-columns:1fr}}
.lab.fdetail{margin-top:1rem}
details.fschritt{padding:.35rem .9rem}
details.fschritt>summary{list-style:none;cursor:pointer}
details.fschritt>summary::-webkit-details-marker{display:none}
details.fschritt>summary h4{margin:.2rem 0}
details.fschritt>summary h4::after{content:'▾';margin-left:auto;color:var(--muted);font-size:.9rem;transition:transform .15s}
details.fschritt:not([open])>summary h4::after{transform:rotate(-90deg)}
details.fschritt[open]>summary{margin-bottom:.4rem}
/* Prüfpunkte (Verträge, Management Only): kompakte Zeile, Details erst bei Bedarf */
.pgruppe{margin:.9rem 0 .4rem}.pg-kopf{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--navy);padding-bottom:.25rem;margin-bottom:.4rem}
.pg-kopf b{color:var(--navy)}
details.pz{padding:0;margin:.35rem 0}
details.pz>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.6rem .9rem}
details.pz>summary::-webkit-details-marker{display:none}
details.pz .pz-titel{display:flex;flex-direction:column;gap:.1rem;min-width:0}
details.pz .pz-stand{display:flex;align-items:center;gap:.5rem;white-space:nowrap}
details.pz .pz-stand .ref{color:var(--muted)}
details.pz .pz-stand::after{content:'▾';color:var(--muted);transition:transform .15s}
details.pz:not([open]) .pz-stand::after{transform:rotate(-90deg)}
details.pz[open]>summary{border-bottom:1px solid var(--line)}
details.pz .pz-koerper{padding:.6rem .9rem .8rem}
.massstab{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.4rem}.massstab p{margin:.1rem 0;font-size:.9rem}
.massstab .lab.gruen{color:var(--st-gruen)}.massstab .lab.rot{color:#B42318}
@media (max-width:700px){.massstab{grid-template-columns:1fr}}
details.optional{margin:.6rem 0;border-top:1px dashed var(--line);padding-top:.4rem}
details.optional>summary{cursor:pointer;color:var(--blue);font-size:.9rem}
/* Auswahlkacheln in Feldgruppen: Auswahlpunkt und Text nebeneinander (nicht als Formularfeld-Label gestapelt) */
.felder label.kachel,.formular label.kachel{flex-direction:row;align-items:flex-start;color:var(--ink);font-size:15px}
.felder .feld.schmal .liste{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.felder label.kachel,.formular label.kachel{gap:.55rem}
label.kachel>span{min-width:0;overflow-wrap:break-word;hyphens:auto}
.vreiter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin:.6rem 0}
.vreiter .fk{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;color:var(--ink)}
.vreiter .fk.akt{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:var(--akt)}
.vreiter .fk span{font-size:.85rem;color:var(--muted)}
details.pz.b-gut{border-left-color:var(--st-gruen)!important}details.pz.b-ungut{border-left-color:#B42318!important}details.pz.b-unklar{border-left-color:var(--st-orange)!important}details.pz.b-na{border-left-color:var(--line)!important}
label.kachel>span{hyphens:manual}
.kacheln{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.gespeichert{background:none;border:0;padding:.3rem 0;font-weight:500}.gespeichert.laeuft,.gespeichert.fehler{background:none;border:0}
.fentscheid{position:static}
table.gesamt th.r{text-align:right}
/* Zugangsfrist */
.zfrist{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.4rem 0 .6rem}.zfrist input{width:auto}
.zfrist-aendern{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:flex-end}.zfrist-aendern input{width:auto;font-size:.85rem}
.band .zbis{margin-left:auto;margin-right:.8rem;opacity:.85}
.band .zurplattform{color:#fff;opacity:.85;text-decoration:none;font-size:.9rem}.band .zurplattform:hover{opacity:1;text-decoration:underline}
main > .zurplattform{display:inline-block;margin:.2rem 0 .4rem;font-size:.9rem}
