/* Zentralisierte Komponentenstile der öffentlichen und administrativen Ansichten. */

/* public/partials/komponenten.php */
.komp-hero{border:1px solid var(--fp-info-flaeche-stark);border-radius:16px;background:linear-gradient(135deg,var(--fp-info-flaeche) 0%,var(--fp-weiss) 100%);padding:20px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin:0 0 16px 0}
          .komp-hero h2{margin:0 0 8px 0;font-size:1.16rem}
          .komp-hero p{margin:0;color:var(--fp-text-sekundaer)}
          .komp-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;align-items:start}
          .komp-panel{border:1px solid var(--fp-rahmen);border-radius:14px;background:var(--fp-weiss);padding:16px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin-bottom:16px}
          .komp-panel h2,.komp-panel h3{margin-top:0}
          .komp-panel pre{margin:10px 0 0 0;padding:12px;border-radius:10px;background:var(--fp-text-stark);color:var(--fp-flaeche-grau);overflow:auto;font-size:13px;line-height:1.5}
          .komp-list{margin:0;padding-left:18px}
          .komp-list li{margin:0 0 6px 0}
          .komp-note{font-size:.92rem;color:var(--fp-text-dezent)}
          .komp-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
          .komp-kachel{display:block;border:1px solid var(--fp-rahmen);border-radius:14px;background:var(--fp-weiss);padding:16px;text-decoration:none;color:inherit;box-shadow:0 8px 24px var(--fp-schatten-sanft)}
          .komp-kachel:hover{border-color:var(--fp-indigo-rahmen);box-shadow:0 12px 28px var(--fp-primaer-alpha)}
          .komp-kategorie{display:inline-block;padding:.18rem .45rem;border-radius:.45rem;background:var(--fp-flaeche-hell);border:1px solid var(--fp-flaeche-grau);color:var(--fp-text-sekundaer);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
          .komp-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0 0}
          .komp-meta span{font-size:.84rem;color:var(--fp-text-dezent)}
          .komp-links{list-style:none;margin:0;padding:0}
          .komp-links li + li{margin-top:10px}
          .komp-chip{display:inline-block;padding:.2rem .55rem;border-radius:.5rem;background:var(--fp-indigo-flaeche);border:1px solid var(--fp-indigo-rahmen);color:var(--fp-indigo);font-size:.85rem}
          .komp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}
          .komp-kpi{background:var(--fp-weiss);border:1px solid var(--fp-rahmen-kuehl);border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px var(--fp-schatten-sanft)}
          .komp-kpi small{display:block;color:var(--fp-text-dezent);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
          .komp-kpi strong{font-size:1.9rem;line-height:1;color:var(--fp-text-stark)}
          .komp-sub{margin:6px 0 0;color:var(--fp-text-dezent)}
          @media (max-width: 980px){.komp-grid{grid-template-columns:1fr}}

/* public/partials/leitfaeden.php */
.leitfaden-hero{border:1px solid var(--fp-info-flaeche-stark);border-radius:14px;background:linear-gradient(135deg,var(--fp-info-flaeche) 0%,var(--fp-weiss) 100%);padding:18px 20px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin:0 0 16px 0}
          .leitfaden-hero h2{margin:0 0 8px 0;font-size:1.12rem}
          .leitfaden-hero p{margin:0;color:var(--fp-text-sekundaer)}
          .leitfaden-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px;align-items:start}
          .leitfaden-panel{border:1px solid var(--fp-rahmen);border-radius:12px;background:var(--fp-weiss);padding:16px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin-bottom:16px}
          .leitfaden-panel h2,.leitfaden-panel h3{margin-top:0}
          .leitfaden-panel pre{margin:10px 0 0 0;padding:12px;border-radius:10px;background:var(--fp-text-stark);color:var(--fp-flaeche-grau);overflow:auto;font-size:13px;line-height:1.5}
          .leitfaden-list{margin:0;padding-left:18px}
          .leitfaden-list li{margin:0 0 6px 0}
          .leitfaden-chip{display:inline-block;padding:.2rem .55rem;border-radius:.5rem;background:var(--fp-indigo-flaeche);border:1px solid var(--fp-indigo-rahmen);color:var(--fp-indigo);font-size:.85rem}
          .leitfaden-note{font-size:.92rem;color:var(--fp-text-dezent)}
          .leitfaden-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
          .leitfaden-kachel{display:block;border:1px solid var(--fp-rahmen);border-radius:12px;background:var(--fp-weiss);padding:16px;text-decoration:none;color:inherit;box-shadow:0 8px 24px var(--fp-schatten-sanft)}
          .leitfaden-kachel:hover{border-color:var(--fp-indigo-rahmen);box-shadow:0 12px 28px var(--fp-primaer-alpha)}
          .leitfaden-kategorie{display:inline-block;padding:.18rem .45rem;border-radius:.45rem;background:var(--fp-flaeche-hell);border:1px solid var(--fp-flaeche-grau);color:var(--fp-text-sekundaer);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
          .leitfaden-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0 0}
          .leitfaden-meta span{font-size:.84rem;color:var(--fp-text-dezent)}
          .leitfaden-links{list-style:none;margin:0;padding:0}
          .leitfaden-links li + li{margin-top:10px}
          .leitfaden-links a{text-decoration:none}
          .leitfaden-tabelle{width:100%;border-collapse:collapse}
          .leitfaden-tabelle th,.leitfaden-tabelle td{padding:10px 12px;border-bottom:1px solid var(--fp-rahmen);vertical-align:top;text-align:left}
          .leitfaden-tabelle th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--fp-text-dezent);background:var(--fp-flaeche-hell)}
          @media (max-width: 980px){.leitfaden-grid{grid-template-columns:1fr}}

/* public/partials/modal-project-assign.php */
.projekt-zuordnung-modal .projekt-hierarchie-modal{display:grid;gap:8px;}
  .projekt-zuordnung-modal .projekt-hierarchie-modal-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--fp-rahmen-alt);border-radius:8px;background:var(--fp-weiss);padding:8px;}
  .projekt-zuordnung-modal .projekt-hierarchie-modal-row.is-subprojekt{background:var(--fp-flaeche-hell);border-style:dashed;}
  .projekt-zuordnung-modal .projekt-sub-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--fp-indigo-flaeche);color:var(--fp-indigo);border:1px solid var(--fp-indigo-rahmen);font-size:11px;padding:1px 6px;margin-right:auto;}
  .projekt-zuordnung-modal .bild-upload-hinweis{font-size:12px;color:var(--fp-text-dezent);margin-top:8px;line-height:1.35;}
  .projekt-zuordnung-modal .bild-upload-hinweisbox{border:1px dashed var(--fp-rahmen-stark);border-radius:12px;background:var(--fp-flaeche-hell);color:var(--fp-text-dezent);padding:14px;font-size:13px;}

/* public/partials/modal-standardmeldung.php */
.sm-formular .feld{margin-bottom:12px}
            .sm-formular label{display:block;font-weight:600;margin-bottom:6px}
            .sm-formular input[type=text], .sm-formular input[type=number], .sm-formular select, .sm-formular textarea{width:100%}
            .sm-formular textarea{min-height:88px}
            .sm-formular .zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:12px}
            @media (max-width: 720px){.sm-formular .zweispaltig{grid-template-columns:1fr}}

/* admin/partials/admin-verwaltung-vh-feed-nav.php */
      .admin-verwaltung-seite .verwaltung-aktionsgruppe{display:inline-flex;align-items:center;justify-content:center;gap:8px;vertical-align:middle;flex-wrap:wrap}
      .admin-verwaltung-seite .verwaltung-aktionsgruppe form{display:inline-block;margin:0}
      .admin-verwaltung-seite .verwaltung-zeilenformular{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
      .admin-verwaltung-seite .verwaltung-zeilenformular input[type="text"],
      .admin-verwaltung-seite .verwaltung-zeilenformular select{max-width:100%}
      .admin-verwaltung-rahmen{border:1px solid var(--fp-rahmen-sehr-kuehl);border-radius:14px;background:var(--fp-weiss);box-shadow:0 12px 30px var(--fp-farbwert-rgba-15-23-42-_06);overflow:hidden}
      .admin-verwaltung-frame{display:block;width:100%;min-height:760px;border:0;background:var(--fp-weiss)}
      .admin-verwaltung-hinweis{margin:0 0 12px 0;color:var(--fp-text-sekundaer);font-size:14px}

html.ansicht-eingebettet,body.ansicht-eingebettet{background:transparent}
      body.ansicht-eingebettet{margin:0;padding:0}
      body.ansicht-eingebettet .view-head{display:none!important}
      body.ansicht-eingebettet main.container.admin-verwaltung-seite{max-width:none;width:100%;margin:0;padding:0 0 12px 0}
      body.ansicht-eingebettet .admin-verwaltung-seite > section:first-of-type{padding-top:0}

/* admin/partials/komponenten.php */
.komp-hero{border:1px solid var(--fp-info-flaeche-stark);border-radius:16px;background:linear-gradient(135deg,var(--fp-info-flaeche) 0%,var(--fp-weiss) 100%);padding:20px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin:0 0 16px 0}
          .komp-hero h2{margin:0 0 8px 0;font-size:1.16rem}
          .komp-hero p{margin:0;color:var(--fp-text-sekundaer)}
          .komp-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:16px;align-items:start}
          .komp-panel{border:1px solid var(--fp-rahmen);border-radius:14px;background:var(--fp-weiss);padding:16px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin-bottom:16px}
          .komp-panel h2,.komp-panel h3{margin-top:0}
          .komp-panel pre{margin:10px 0 0 0;padding:12px;border-radius:10px;background:var(--fp-text-stark);color:var(--fp-flaeche-grau);overflow:auto;font-size:13px;line-height:1.5}
          .komp-list{margin:0;padding-left:18px}
          .komp-list li{margin:0 0 6px 0}
          .komp-note{font-size:.92rem;color:var(--fp-text-dezent)}
          .komp-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
          .komp-kachel{display:block;border:1px solid var(--fp-rahmen);border-radius:14px;background:var(--fp-weiss);padding:16px;text-decoration:none;color:inherit;box-shadow:0 8px 24px var(--fp-schatten-sanft)}
          .komp-kachel:hover{border-color:var(--fp-indigo-rahmen);box-shadow:0 12px 28px var(--fp-primaer-alpha)}
          .komp-kategorie{display:inline-block;padding:.18rem .45rem;border-radius:.45rem;background:var(--fp-flaeche-hell);border:1px solid var(--fp-flaeche-grau);color:var(--fp-text-sekundaer);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
          .komp-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0 0}
          .komp-meta span{font-size:.84rem;color:var(--fp-text-dezent)}
          .komp-links{list-style:none;margin:0;padding:0}
          .komp-links li + li{margin-top:10px}
          .komp-chip{display:inline-block;padding:.2rem .55rem;border-radius:.5rem;background:var(--fp-indigo-flaeche);border:1px solid var(--fp-indigo-rahmen);color:var(--fp-indigo);font-size:.85rem}
          .komp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}
          .komp-kpi{background:var(--fp-weiss);border:1px solid var(--fp-rahmen-kuehl);border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px var(--fp-schatten-sanft)}
          .komp-kpi small{display:block;color:var(--fp-text-dezent);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
          .komp-kpi strong{font-size:1.9rem;line-height:1;color:var(--fp-text-stark)}
          .komp-sub{margin:6px 0 0;color:var(--fp-text-dezent)}
          @media (max-width: 980px){.komp-grid{grid-template-columns:1fr}}

/* admin/partials/leitfaeden.php */
.leitfaden-hero{border:1px solid var(--fp-info-flaeche-stark);border-radius:14px;background:linear-gradient(135deg,var(--fp-info-flaeche) 0%,var(--fp-weiss) 100%);padding:18px 20px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin:0 0 16px 0}
          .leitfaden-hero h2{margin:0 0 8px 0;font-size:1.12rem}
          .leitfaden-hero p{margin:0;color:var(--fp-text-sekundaer)}
          .leitfaden-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px;align-items:start}
          .leitfaden-panel{border:1px solid var(--fp-rahmen);border-radius:12px;background:var(--fp-weiss);padding:16px;box-shadow:0 8px 24px var(--fp-schatten-sanft);margin-bottom:16px}
          .leitfaden-panel h2,.leitfaden-panel h3{margin-top:0}
          .leitfaden-panel pre{margin:10px 0 0 0;padding:12px;border-radius:10px;background:var(--fp-text-stark);color:var(--fp-flaeche-grau);overflow:auto;font-size:13px;line-height:1.5}
          .leitfaden-list{margin:0;padding-left:18px}
          .leitfaden-list li{margin:0 0 6px 0}
          .leitfaden-chip{display:inline-block;padding:.2rem .55rem;border-radius:.5rem;background:var(--fp-indigo-flaeche);border:1px solid var(--fp-indigo-rahmen);color:var(--fp-indigo);font-size:.85rem}
          .leitfaden-note{font-size:.92rem;color:var(--fp-text-dezent)}
          .leitfaden-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
          .leitfaden-kachel{display:block;border:1px solid var(--fp-rahmen);border-radius:12px;background:var(--fp-weiss);padding:16px;text-decoration:none;color:inherit;box-shadow:0 8px 24px var(--fp-schatten-sanft)}
          .leitfaden-kachel:hover{border-color:var(--fp-indigo-rahmen);box-shadow:0 12px 28px var(--fp-primaer-alpha)}
          .leitfaden-kategorie{display:inline-block;padding:.18rem .45rem;border-radius:.45rem;background:var(--fp-flaeche-hell);border:1px solid var(--fp-flaeche-grau);color:var(--fp-text-sekundaer);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
          .leitfaden-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0 0}
          .leitfaden-meta span{font-size:.84rem;color:var(--fp-text-dezent)}
          .leitfaden-links{list-style:none;margin:0;padding:0}
          .leitfaden-links li + li{margin-top:10px}
          .leitfaden-links a{text-decoration:none}
          .leitfaden-tabelle{width:100%;border-collapse:collapse}
          .leitfaden-tabelle th,.leitfaden-tabelle td{padding:10px 12px;border-bottom:1px solid var(--fp-rahmen);vertical-align:top;text-align:left}
          .leitfaden-tabelle th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--fp-text-dezent);background:var(--fp-flaeche-hell)}
          @media (max-width: 980px){.leitfaden-grid{grid-template-columns:1fr}}

/* admin/partials/modal-standardmeldung.php */
.sm-formular .feld{margin-bottom:12px}
            .sm-formular label{display:block;font-weight:600;margin-bottom:6px}
            .sm-formular input[type=text], .sm-formular input[type=number], .sm-formular select, .sm-formular textarea{width:100%}
            .sm-formular textarea{min-height:88px}
            .sm-formular .zweispaltig{display:grid;grid-template-columns:1fr 1fr;gap:12px}
            @media (max-width: 720px){.sm-formular .zweispaltig{grid-template-columns:1fr}}

/* admin/partials/seiten-erklaerungen.php */
.seitenkontext-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0 14px}
            .seitenkontext-kpi{background:var(--fp-weiss);border:1px solid var(--fp-rahmen-kuehl);border-radius:16px;padding:16px 18px;box-shadow:0 6px 18px var(--fp-schatten-sanft)}
            .seitenkontext-kpi small{display:block;color:var(--fp-text-dezent);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
            .seitenkontext-kpi strong{display:block;font-size:1.85rem;line-height:1;color:var(--fp-text-stark)}
            .seitenkontext-kpi .sub{margin-top:8px;color:var(--fp-text-dezent);font-size:.94rem}
            .seitenkontext-panel{margin:0 0 16px 0;padding:16px 18px;border:1px solid var(--fp-rahmen-kuehl);border-radius:16px;background:linear-gradient(180deg,var(--fp-weiss) 0%,var(--fp-flaeche-hell) 100%);box-shadow:0 8px 24px var(--fp-schatten-sanft)}
            .seitenkontext-panel[hidden]{display:none!important}
            .seitenkontext-panel h2{margin:0 0 6px 0;font-size:1rem}
            .seitenkontext-panel p{margin:0;color:var(--fp-text-sekundaer);line-height:1.6}
            .seitenkontext-panel .teaser{margin:0 0 8px 0;color:var(--fp-text-stark);font-weight:600}
            .seitenkontext-panel .meta{margin-top:10px;font-size:.85rem;color:var(--fp-text-dezent)}
            @media (max-width: 720px){.seitenkontext-kpis{grid-template-columns:1fr;}}

/* Projekthierarchie ohne Inline-Padding */
.projekt-einzug-0{padding-left:8px;}
.projekt-einzug-1{padding-left:30px;}
.projekt-einzug-2{padding-left:52px;}
.projekt-einzug-3{padding-left:74px;}
.projekt-einzug-4{padding-left:96px;}
.projekt-einzug-5{padding-left:118px;}
.projekt-einzug-6{padding-left:140px;}
.projekt-einzug-7{padding-left:162px;}
.projekt-einzug-8{padding-left:184px;}
.projekt-einzug-9{padding-left:206px;}
.projekt-einzug-10{padding-left:228px;}

/* Standardmeldungen ohne Inline-Stile */
.standardmeldung{max-width:100%;margin:10px 0 12px;padding:10px;border-radius:6px;}
.standardmeldung--erfolg{border:1px solid var(--fp-farbwert-2ecc71);background:var(--fp-erfolg-flaeche-alt);color:var(--fp-farbwert-145a32);}
.standardmeldung--fehler{border:1px solid var(--fp-gefahr-alt);background:var(--fp-gefahr-flaeche-alt);color:var(--fp-farbwert-7b241c);}

/* Seitenrechte-Informationen */
.seitenrechte-beschreibungen{margin-top:14px;padding:12px;border:1px solid var(--fp-rahmen);border-radius:12px;background:var(--fp-flaeche-hell);}
.seitenrechte-beschreibungen__titel{margin-bottom:8px;}
.seitenrechte-beschreibungen__liste{display:grid;gap:8px;}
.seitenrechte-beschreibungen__text{color:var(--fp-text-grau);}
.status-updater-aktionen{text-align:right;margin-top:10px;}


/* auth/partials/anmeldung-zweitfaktor-modal.php */
.anmeldung-zweitfaktor-modal-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
            .anmeldung-zweitfaktor-modal-kopftext{display:grid;gap:4px;min-width:0}
            .anmeldung-zweitfaktor-modal-kicker{margin:0;color:var(--fp-marke-limette);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
            .anmeldung-zweitfaktor-box{display:grid;gap:14px}
            .anmeldung-zweitfaktor-hinweis{margin:0;color:var(--fp-text-sekundaer);line-height:1.55}
            .anmeldung-zweitfaktor-fehler{padding:10px 12px;border:1px solid var(--fp-gefahr-rahmen);background:var(--fp-gefahr-flaeche-hell);color:var(--fp-gefahr-stark);border-radius:12px}
            .anmeldung-zweitfaktor-erfolg{padding:10px 12px;border:1px solid var(--fp-info-rahmen);background:var(--fp-info-flaeche);color:var(--fp-info-stark);border-radius:12px}
            .anmeldung-zweitfaktor-optionen{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
            .anmeldung-zweitfaktor-option{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:16px;border:1px solid var(--fp-rahmen-kuehl);border-radius:14px;background:var(--fp-weiss);text-align:left;color:var(--fp-text-stark);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
            .anmeldung-zweitfaktor-option:hover,.anmeldung-zweitfaktor-option:focus{border-color:var(--fp-text-stark);background:var(--fp-flaeche-hell)}
            .anmeldung-zweitfaktor-option strong{display:block;font-size:1rem;color:var(--fp-text-stark)}
            .anmeldung-zweitfaktor-option span{display:block;color:var(--fp-text-sekundaer);line-height:1.5}
            .anmeldung-zweitfaktor-symbol{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--fp-text-stark);color:var(--fp-weiss);font-size:1.1rem;font-weight:800;letter-spacing:.06em}
            .anmeldung-zweitfaktor-qrkarte{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:16px;align-items:start;padding:14px;border:1px solid var(--fp-rahmen-blau);border-radius:16px;background:var(--fp-flaeche-hell)}
            .anmeldung-zweitfaktor-qr{position:relative;display:grid;place-items:center;min-height:220px;background:var(--fp-weiss);border:1px solid var(--fp-rahmen-blau);border-radius:16px;padding:10px;overflow:hidden}
            .anmeldung-zweitfaktor-qr img{display:block;max-width:100%;height:auto;position:relative;z-index:2}
            .anmeldung-zweitfaktor-platzhalter{position:absolute;inset:10px;display:grid;place-items:center;text-align:center;padding:16px;border-radius:14px;background:linear-gradient(135deg,var(--fp-info-flaeche) 0%,var(--fp-farbwert-ecfeff) 100%);color:var(--fp-text-stark)}
            .anmeldung-zweitfaktor-platzhalter[hidden]{display:none!important}
            .anmeldung-zweitfaktor-meta{display:grid;gap:10px}
            .anmeldung-zweitfaktor-feld{display:grid;gap:6px}
            .anmeldung-zweitfaktor-feld label{font-weight:700;color:var(--fp-text-stark)}
            .anmeldung-zweitfaktor-feld input{width:100%}
            .anmeldung-zweitfaktor-uri{font-size:.86rem;color:var(--fp-text-sekundaer);word-break:break-all}
            .anmeldung-zweitfaktor-aktion{display:flex;justify-content:flex-end}
            .anmeldung-zweitfaktor-code{display:grid;gap:10px;justify-items:center;text-align:center}
            .anmeldung-zweitfaktor-codezeile{display:flex;justify-content:center;max-width:100%;overflow-x:auto;padding-bottom:2px}
            .anmeldung-zweitfaktor-codefelder{display:flex !important;flex-wrap:nowrap !important;gap:10px;justify-content:center;align-items:center;width:auto;max-width:none;margin:0 auto}
            .anmeldung-zweitfaktor-code .anmeldung-zweitfaktor-codefeld{display:block;flex:0 0 54px;width:54px !important;min-width:54px !important;max-width:54px !important;height:60px;padding:0;margin:0;border:1px solid var(--fp-rahmen-stark);border-radius:16px;background:var(--fp-weiss);text-align:center;font-size:1.45rem;font-weight:800;line-height:1;box-shadow:0 10px 24px var(--fp-schatten);font-variant-numeric:tabular-nums}
            .anmeldung-zweitfaktor-code .anmeldung-zweitfaktor-codefeld:focus{border-color:var(--fp-info-stark);box-shadow:0 0 0 4px var(--fp-farbwert-rgba-29-78-216-_12)}
            .anmeldung-zweitfaktor-codehinweis{color:var(--fp-text-dezent);font-size:.92rem}
            .anmeldung-zweitfaktor-zwischenaktionen{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
            @media (max-width: 720px){
              .anmeldung-zweitfaktor-qrkarte{grid-template-columns:1fr}
              .anmeldung-zweitfaktor-qr{min-height:0}
              .anmeldung-zweitfaktor-codefelder{gap:8px}
              .anmeldung-zweitfaktor-code .anmeldung-zweitfaktor-codefeld{flex-basis:46px;width:46px !important;min-width:46px !important;max-width:46px !important;height:54px;border-radius:14px;font-size:1.25rem}
            }

/* public/partials/auth-kpi-links.php */
.auth-kpi-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;padding:14px 2px 2px 2px;margin-top:14px}
  .auth-kpi-karte{display:block;text-decoration:none;background:var(--fp-weiss);border:1px solid var(--fp-rahmen-kuehl);border-radius:14px;padding:14px 16px;box-shadow:0 6px 18px var(--fp-schatten-sanft);min-height:96px;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
  .auth-kpi-karte:hover{transform:translateY(-1px);box-shadow:0 10px 22px var(--fp-schatten-mittel);border-color:var(--fp-text-hell)}
  .auth-kpi-karte small{display:block;color:var(--fp-text-dezent);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
  .auth-kpi-karte strong{display:block;color:var(--fp-text-stark);font-size:1rem;line-height:1.35;font-weight:700}
  @media (max-width:720px){.auth-kpi-row{grid-auto-columns:minmax(240px,1fr);margin-top:12px}}

/* public/partials/anmeldung-zweitfaktor-modal.php */
.anmeldung-zweitfaktor-box{display:grid;gap:14px}
            .anmeldung-zweitfaktor-hinweis{margin:0;color:var(--fp-text-sekundaer);line-height:1.5}
            .anmeldung-zweitfaktor-fehler{padding:10px 12px;border:1px solid var(--fp-gefahr-rahmen);background:var(--fp-gefahr-flaeche-hell);color:var(--fp-gefahr-stark);border-radius:12px}
            .anmeldung-zweitfaktor-qrkarte{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:16px;align-items:start;padding:14px;border:1px solid var(--fp-rahmen-blau);border-radius:16px;background:var(--fp-flaeche-hell)}
            .anmeldung-zweitfaktor-qr{position:relative;display:grid;place-items:center;min-height:220px;background:var(--fp-weiss);border:1px solid var(--fp-rahmen-blau);border-radius:16px;padding:10px;overflow:hidden}
            .anmeldung-zweitfaktor-qr img{display:block;max-width:100%;height:auto;position:relative;z-index:2}
            .anmeldung-zweitfaktor-platzhalter{position:absolute;inset:10px;display:grid;place-items:center;text-align:center;padding:16px;border-radius:14px;background:linear-gradient(135deg,var(--fp-info-flaeche) 0%,var(--fp-farbwert-ecfeff) 100%);color:var(--fp-text-stark)}
            .anmeldung-zweitfaktor-platzhalter[hidden]{display:none!important}
            .anmeldung-zweitfaktor-symbol{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin:0 auto 10px;background:linear-gradient(135deg,var(--fp-text-stark) 0%,var(--fp-info-stark) 100%);color:var(--fp-weiss);font-size:1.35rem;font-weight:800;letter-spacing:.06em;box-shadow:0 14px 30px var(--fp-farbwert-rgba-15-23-42-_18)}
            .anmeldung-zweitfaktor-platzhalter strong{display:block;margin-bottom:4px}
            .anmeldung-zweitfaktor-platzhalter span{display:block;color:var(--fp-text-sekundaer);font-size:.92rem;line-height:1.45}
            .anmeldung-zweitfaktor-meta{display:grid;gap:10px}
            .anmeldung-zweitfaktor-feld{display:grid;gap:6px}
            .anmeldung-zweitfaktor-feld label{font-weight:700;color:var(--fp-text-stark)}
            .anmeldung-zweitfaktor-feld input{width:100%}
            .anmeldung-zweitfaktor-uri{font-size:.86rem;color:var(--fp-text-sekundaer);word-break:break-all}
            .anmeldung-zweitfaktor-checkbox{display:grid;grid-template-columns:minmax(28px,10%) minmax(0,90%);align-items:start;gap:10px;padding:12px 14px;border:1px solid var(--fp-rahmen-blau);border-radius:14px;background:var(--fp-weiss)}
            .anmeldung-zweitfaktor-checkbox input{margin:2px 0 0 0;justify-self:center;align-self:start}
            .anmeldung-zweitfaktor-checkbox > span{display:grid;gap:4px;min-width:0}
            .anmeldung-zweitfaktor-checkbox strong{display:block;color:var(--fp-text-stark)}
            .anmeldung-zweitfaktor-code{justify-items:center;text-align:center}
            .anmeldung-zweitfaktor-codefelder{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}
            .anmeldung-zweitfaktor-codefeld{width:54px;min-width:54px;height:60px;border:1px solid var(--fp-rahmen-stark);border-radius:16px;background:var(--fp-weiss);text-align:center;font-size:1.45rem;font-weight:800;line-height:1;box-shadow:0 10px 24px var(--fp-schatten)}
            .anmeldung-zweitfaktor-codefeld:focus{border-color:var(--fp-info-stark);box-shadow:0 0 0 4px var(--fp-farbwert-rgba-29-78-216-_12)}
            .anmeldung-zweitfaktor-codehilfe{font-size:.88rem;color:var(--fp-text-dezent)}
            @media (max-width: 720px){
              .anmeldung-zweitfaktor-qrkarte{grid-template-columns:1fr}
              .anmeldung-zweitfaktor-qr{min-height:0}
              .anmeldung-zweitfaktor-codefelder{gap:8px}
              .anmeldung-zweitfaktor-codefeld{width:46px;min-width:46px;height:54px;border-radius:14px;font-size:1.25rem}
            }

/* public/partials/modal-login-zweitfaktor.php */
.zweitfaktor-hinweis{margin:0;padding:12px 14px;border-radius:12px;border:1px solid var(--fp-info-flaeche-stark);background:var(--fp-info-flaeche);color:var(--fp-indigo-text)}
            .zweitfaktor-fehler{margin:0;padding:12px 14px;border-radius:12px;border:1px solid var(--fp-gefahr-rahmen);background:var(--fp-gefahr-flaeche-hell);color:var(--fp-gefahr-text)}
            .zweitfaktor-box{border:1px solid var(--fp-rahmen);border-radius:12px;padding:12px 14px;background:var(--fp-weiss)}
            .zweitfaktor-box strong{display:block;margin-bottom:6px}
            .zweitfaktor-box code{display:block;word-break:break-all;background:var(--fp-flaeche-hell);border:1px solid var(--fp-flaeche-grau);border-radius:10px;padding:10px 12px;font-size:.95rem}
            .zweitfaktor-grid{display:grid;gap:12px}
            .zweitfaktor-grid input[type=text]{width:100%}
            .zweitfaktor-meta{font-size:.9rem;color:var(--fp-text-sekundaer)}
            .zweitfaktor-vertrauen{display:flex;align-items:flex-start;gap:10px}
            .zweitfaktor-vertrauen input{margin-top:2px}
/* Legacy-FPV-Komponenten im gemeinsamen FluxPike-Stil. */
.fpv-wrap{max-width:1400px;margin:0 auto;padding:12px;}
.fpv-view-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 16px;padding:13px 16px;border:1px solid var(--fp-weiss-alpha-09);border-left:5px solid var(--fp-marke-limette);border-radius:14px 14px 10px 4px;background:linear-gradient(135deg,var(--fp-marke-tief),var(--fp-marke-dunkel));box-shadow:0 18px 40px var(--fp-farbwert-rgba-7-29-36-_18);}
.fpv-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--fp-weiss);font-size:20px;font-weight:800;}
.fpv-actions{display:flex;gap:8px;align-items:center;}
.fpv-iconbtn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid var(--fp-farbwert-rgba-255-255-255-_16);border-radius:10px 10px 10px 4px;background:var(--fp-weiss-alpha-08);color:var(--fp-weiss);text-decoration:none;font:inherit;cursor:pointer;}
.fpv-iconbtn:hover{background:var(--fp-farbwert-rgba-255-255-255-_15);}
.fpv-icon{width:16px;height:16px;display:inline-block;}
.fpv-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--fp-marke-rahmen);border-radius:14px;background:var(--fp-weiss);}
.fpv-table th,.fpv-table td{padding:9px 10px;border-bottom:1px solid var(--fp-farbwert-e4ebe9);text-align:left;}
.fpv-table th{background:var(--fp-farbwert-edf3f2);color:var(--fp-farbwert-29444d);font-weight:800;}
.fpv-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px;}
.fpv-modal-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999;background:var(--fp-farbwert-rgba-7-29-36-_58);backdrop-filter:blur(3px);}
.fpv-modal-backdrop.ist-offen{display:flex;}
.fpv-modal{min-width:320px;max-width:600px;padding:18px;border:1px solid var(--fp-marke-rahmen);border-radius:16px;background:var(--fp-weiss);box-shadow:0 24px 64px var(--fp-farbwert-rgba-7-29-36-_25);}
.fpv-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.fpv-modal-title{font-weight:800;color:var(--fp-marke-dunkel-2);}
.fpv-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;}
.fpv-chart{width:100%;height:220px;border:1px solid var(--fp-marke-rahmen);border-radius:12px;background:var(--fp-weiss);}
.fpv-muted{color:var(--fp-marke-text);font-size:12px;}
