/* Siteware V4 / Leos: gemeinsame Bildschirmgestaltung. PDF-Vorlagen bleiben separat. */
@font-face { font-family:Geist; src:url('/admin/static/fonts/GeistVariable.woff2') format('woff2'); font-weight:100 900; font-display:swap }
@font-face { font-family:Inter; src:url('/admin/static/fonts/Inter-400.woff2') format('woff2'); font-weight:400; font-display:swap }
@font-face { font-family:Inter; src:url('/admin/static/fonts/Inter-500.woff2') format('woff2'); font-weight:500; font-display:swap }
:root {
  --pd-canvas:#f7f7f7; --pd-surface:#fff; --pd-surface-subtle:#f2f2f2; --pd-ink:#171717;
  --pd-border:#ebebeb; --pd-card-radius:12px; --leos-action-fill:#ff00ff; --leos-action-hover:#ed00ed;
  --leos-header-height:60px; --leos-sidebar-width:240px; --leos-inset:24px;
  --grund:var(--pd-canvas); --flaeche:var(--pd-surface); --text:var(--pd-ink); --leise:#636363;
  --linie:var(--pd-border); --linie2:var(--pd-border); --blau:#171717; --blau-dunkel:#404040; --blau-hell:#f2f2f2;
  --ok-bg:#eaf6ef; --ok:#176b43; --warn-bg:#fff5dc; --warn:#755300; --rot:#b4233a; --rot-bg:#fff0f2; --chip:#f2f2f2;
  --schrift:Geist,Arial,sans-serif; --leseschrift:Inter,Arial,sans-serif; --mono:Geist,Arial,sans-serif;
}
* { box-sizing: border-box }
html, body { margin: 0 }
body { background: var(--grund); color: var(--text); font-family: var(--schrift); font-size: 16px; line-height: 1.5 }
a { color: var(--blau) } a:hover { color: var(--blau-dunkel) }
h1, h2 { margin: 0; font-weight: 600; text-wrap: balance }
h1 { font-size: 30px; line-height: 1.2 } h2 { font-size: 20px }
p { margin: 0 }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: .94em }
.leise { color: var(--leise) } .klein { font-size: 14px }
.logo { display: inline-block; flex-shrink: 0; line-height: 0; text-decoration: none }
.logo svg { display: block; width: 128px; height: auto }
header.kopf { background: var(--flaeche); border-bottom: 1px solid var(--linie) }
.kopf .innen { max-width: 1160px; margin: 0 auto; padding: 0 24px; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap }
nav.haupt { display: flex; gap: 28px; flex-wrap: wrap; font-size: 15px; font-weight: 600 }
nav.haupt a { color: var(--leise); text-decoration: none; padding: 20px 0; border-bottom: 2px solid transparent }
nav.haupt a.aktiv { color: var(--text); border-bottom-color: var(--blau) }
.konto { display: flex; gap: 14px; align-items: center; font-size: 14px; color: var(--leise) }
.konto form { margin: 0 }
.linkknopf { background: none; border: 0; padding: 0; font: inherit; color: var(--leise); text-decoration: underline; cursor: pointer }
main { max-width: 1160px; margin: 0 auto; padding: 40px 24px 64px; display: flex; flex-direction: column; gap: 28px }
.raster { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px }
.karte { background: var(--flaeche); border: 1px solid var(--linie); border-radius: var(--pd-card-radius); padding: 28px; display: flex; flex-direction: column; gap: 16px; min-width: 0 }
label { font-size: 14px; font-weight: 600 }
.feld { display: flex; flex-direction: column; gap: 6px; min-width: 0 }
input[type=text], input[type=url], input[type=password], input[type=number], input[type=date], input[type=search], select {
  font: inherit; font-size: 16px; height: 46px; border: 1px solid #8E8B89; border-radius: 6px; padding: 0 12px; background: var(--flaeche); color: var(--text); width: 100% }
input:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--blau); outline-offset: 2px }
.knopf { display: inline-flex; align-items: center; justify-content: center; height: 46px; padding: 0 20px; border-radius: 6px; border: 1px solid var(--blau); background: var(--blau); color: #fff; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap }
.knopf:hover { background: var(--blau-dunkel); color: #fff }
.knopf.zweit { background: var(--flaeche); color: var(--text); border-color: var(--text) }
.knopf.zweit:hover { background: var(--grund); color: var(--text) }
.knopf.klein { height: 36px; padding: 0 14px; font-size: 14px }
.knopf.rahmen { background: var(--flaeche); color: var(--blau) } .knopf.rahmen:hover { background: var(--blau); color: #fff }
.knopf.gefahr { background: var(--rot); border-color: var(--rot) }
.zeile { display: flex; gap: 16px; align-items: center; flex-wrap: wrap }
.ablage { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 120px; border: 2px dashed #8E8B89; border-radius: var(--pd-card-radius); padding: 20px; text-align: center; font-weight: 400; cursor: pointer }
.ablage input { font-size: 14px; max-width: 100% }
.meldung { padding: 14px 18px; border-radius: var(--pd-card-radius); background: var(--blau-hell); border: 1px solid #d4d4d4 }
.meldung.fehler { background: var(--rot-bg); border-color: #E8A3AE; color: var(--rot) }
.titel { font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--leise) }
.tabelle { background: var(--flaeche); border: 1px solid var(--linie); border-radius: var(--pd-card-radius); overflow-x: auto }
table { border-collapse: collapse; width: 100%; font-size: 15px }
th { text-align: left; font-size: 13px; font-weight: 600; color: var(--leise); padding: 10px 12px; border-bottom: 1px solid var(--text); white-space: nowrap }
td { padding: 11px 12px; border-bottom: 1px solid var(--linie2); vertical-align: middle }
td.n { white-space: nowrap }
tr.aktiv td { background: var(--blau-hell) }
.chip { display: inline-block; font-size: 13px; font-weight: 600; padding: 3px 8px; border-radius: 3px; background: var(--chip); color: #4A4846; white-space: nowrap }
.chip.druckreif, .chip.fertig { background: var(--ok-bg); color: var(--ok) }
.chip.prüfen, .chip.pruefen { background: var(--warn-bg); color: var(--warn) }
.chip.fehler { background: var(--rot-bg); color: var(--rot) }
.balken { height: 14px; background: #E4E2E0; border-radius: 7px; overflow: hidden; display: flex }
.balken > span { display: block; height: 100% }
.balken .fertig { background: var(--blau) }
.balken .laeuft { background-color: #666; background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,.3) 0 10px, transparent 10px 20px); background-size: 28px 28px; animation: lauf 1.2s linear infinite }
.balken.duenn { height: 6px; border-radius: 3px }
@keyframes lauf { from { background-position: 0 0 } to { background-position: 28px 0 } }
.puls { animation: puls 1.6s ease-in-out infinite }
@keyframes puls { 0%, 100% { opacity: 1 } 50% { opacity: .4 } }
@media (prefers-reduced-motion: reduce) { .balken .laeuft, .puls { animation: none } }
.gross { font-family: var(--mono); font-size: 52px; line-height: 1; font-variant-numeric: tabular-nums }
.kennzahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 16px; border-top: 1px solid var(--linie2); padding-top: 18px }
.kennzahlen div { display: flex; flex-direction: column; gap: 2px }
.kennzahlen b { font-family: var(--mono); font-weight: 400; font-size: 21px; font-variant-numeric: tabular-nums }
.schritte { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 8px }
.schritte li { display: flex; flex-direction: column; gap: 8px; padding: 14px; background: var(--flaeche); border: 1px solid var(--linie); border-radius: var(--pd-card-radius); font-size: 14px }
.schritte li.erledigt .balken.duenn span { background: var(--blau); width: 100% }
.schritte li.jetzt { border: 2px solid var(--blau) }
.schritte li.offen { color: var(--leise) }
.schritte .was { font-weight: 600 }
.schritte .stand { font-family: var(--mono); font-size: 13px; color: var(--leise) }
.schritte li.jetzt .stand { color: var(--blau) }
details.versionen summary { cursor: pointer; color: var(--blau); font-weight: 600; font-size: 14px; list-style: none }
details.versionen summary::-webkit-details-marker { display: none }
.vliste { display: flex; flex-direction: column; margin-top: 10px; min-width: 340px }
.vliste > div { display: grid; grid-template-columns: 90px 150px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--linie2); font-size: 14px }
.filter { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 16px; align-items: end; background: var(--flaeche); border: 1px solid var(--linie); border-radius: var(--pd-card-radius); padding: 20px }
.gefahrzone { display: flex; flex-direction: column; gap: 14px; border: 1px solid #E8A3AE; background: var(--rot-bg); border-radius: var(--pd-card-radius); padding: 18px }
.gefahrzone label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; font-size: 15px }
.gefahrzone input[type=checkbox] { width: 20px; height: 20px; margin: 2px 0 0; flex: none }
.anmeldung { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 48px 16px }
.anmeldung .box { width: 100%; max-width: 420px; display: flex; flex-direction: column; gap: 28px }
.anmeldung .logo svg { width: 198px }
.seiten { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px }
.journal-form { display: flex; flex-direction: column; gap: 12px; max-width: 760px; margin-top: 20px }
.journal-form input:not([type=checkbox]), .journal-form textarea { width: 100%; font: inherit; padding: 10px 12px; border: 1px solid #8E8B89; border-radius: 6px; background: var(--flaeche); color: var(--text) }
.journal-form textarea { resize: vertical; min-height: 90px }
.journal-form textarea:focus-visible { outline: 3px solid var(--blau); outline-offset: 2px }
.journal-form .knopf { align-self: flex-start; max-width: 100%; height: auto; min-height: 46px; white-space: normal }
.journal-details { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; background: var(--flaeche); padding: 16px }
@media (max-width: 640px) { main { padding: 28px 16px 48px } .kopf .innen { padding: 16px } nav.haupt { gap: 18px } .vliste > div { grid-template-columns: 1fr 1fr } }

/* V4 shell and semantic components. All overrides remain screen-only. */
[hidden] { display:none !important }
body { overflow-wrap:anywhere }
h1 { font-size:28px; line-height:34px; font-weight:500; letter-spacing:-.025em }
h2 { font-size:20px; line-height:26px; font-weight:500; letter-spacing:-.015em }
h3 { font-size:16px; font-weight:600; margin:0 }
p { font-family:var(--leseschrift); line-height:1.6 }
a { text-underline-offset:3px }
button, input, select, textarea { max-width:100% }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--text); outline-offset:4px }
.skip-link { position:fixed; top:8px; left:12px; z-index:20; padding:10px 16px; background:#fff; transform:translateY(-150%) }
.skip-link:focus { transform:none }
.kopf { position:sticky; top:0; z-index:5 }
.kopf .innen { max-width:none; height:var(--leos-header-height); min-height:60px; padding:0 24px; flex-wrap:nowrap }
.logo svg { width:152px; max-width:100% }
.kopf-titel { color:var(--leise); font-size:13px; margin-left:auto }
.konto .mono { font-size:13px }
.konto .linkknopf { min-height:44px }
.seitenleiste { position:fixed; top:var(--leos-header-height); bottom:0; width:var(--leos-sidebar-width); padding:24px 12px; background:var(--flaeche); border-right:1px solid var(--linie); display:flex; flex-direction:column; gap:18px; overflow-y:auto }
.bereichstitel { font-size:12px; font-weight:500; color:var(--leise); margin:0 12px }
nav.haupt { flex-direction:column; flex-wrap:nowrap; gap:4px; font-size:14px; font-weight:500 }
nav.haupt a { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 12px; border:0; border-radius:6px; color:var(--leise) }
nav.haupt a:hover, nav.haupt a.aktiv { color:var(--text); background:var(--pd-surface-subtle) }
nav.haupt svg { width:18px; height:18px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.seitenleiste-fuss { margin-top:auto; padding:16px 12px 0; border-top:1px solid var(--linie); color:var(--leise); font-size:12px }
.arbeitsbereich { margin-left:var(--leos-sidebar-width); max-width:1600px; min-width:0; padding:32px var(--leos-inset) 64px; gap:24px }
.arbeitsbereich > *, .zeile > * { min-width:0 }
.arbeitsbereich > section:not(.karte), .arbeitsbereich > form.journal-form { background:var(--flaeche); border:1px solid var(--linie); border-radius:var(--pd-card-radius); padding:24px; display:flex; flex-direction:column; gap:16px }
.arbeitsbereich > #aktuell:empty { display:none }
.seitenkopf { background:var(--pd-surface-subtle); border:1px solid #e5e5e5; border-radius:var(--pd-card-radius); padding:24px; display:flex; flex-direction:column; gap:8px }
.seitenkopf p { max-width:780px; color:var(--leise); font-size:14px }
.karte { padding:24px; box-shadow:0 3px 12px rgba(23,23,23,.025) }
.karte > .knopf { align-self:flex-start }
.knopf { height:auto; min-height:44px; padding:10px 20px; font-size:14px; line-height:20px; font-weight:500; white-space:normal; text-align:center; border-radius:6px; background:var(--leos-action-fill); border-color:var(--leos-action-fill); color:var(--text); box-shadow:0 4px 4px #1717170a }
.knopf:hover { background:var(--leos-action-hover); border-color:var(--leos-action-hover); color:var(--text) }
.knopf.zweit, .knopf.rahmen { background:var(--flaeche); border-color:#b0b0b0; color:var(--text); box-shadow:none }
.knopf.zweit:hover, .knopf.rahmen:hover { background:var(--pd-surface-subtle); color:var(--text); border-color:#737373 }
.knopf.gefahr { background:var(--rot); border-color:var(--rot); color:#fff }
.knopf.klein { min-height:36px; height:auto; padding:7px 12px; font-size:13px }
input[type=text], input[type=url], input[type=password], input[type=number], input[type=date], input[type=search], select { height:44px; border-color:#a3a3a3; font-size:14px; border-radius:6px; min-width:0 }
textarea { font-family:var(--leseschrift) }
label { font-weight:500 }
label:has(input[type=checkbox]) { line-height:1.6 }
input[type=checkbox] { width:18px; height:18px; vertical-align:middle; accent-color:var(--text) }
.ablage { border-width:1px; border-color:#a3a3a3; background:var(--grund); padding:20px 16px; gap:8px }
.ablage input::file-selector-button { background:#fff; border:1px solid #a3a3a3; border-radius:6px; padding:8px; color:var(--text); cursor:pointer }
.titel { font-size:16px; font-weight:500; letter-spacing:0; text-transform:none; color:var(--text) }
.tabelle { max-width:100%; scrollbar-gutter:stable; overscroll-behavior-x:contain }
th { padding:12px 16px; background:var(--grund); border-bottom:1px solid var(--linie); font-weight:500; font-size:12px }
td { padding:12px 16px; height:48px; font-size:14px }
td .knopf { margin:3px 0 }
tr:last-child td { border-bottom:0 }
.chip { border-radius:5px; padding:4px 8px; font-size:12px; font-weight:500 }
.gross { font-size:44px; letter-spacing:-.04em; font-weight:500 }
.kennzahlen div { background:var(--flaeche); border:1px solid var(--linie); padding:16px; border-radius:var(--pd-card-radius); gap:8px }
.kennzahlen b { font-size:24px; font-weight:500; letter-spacing:-.025em }
.tabelle td.n { white-space:nowrap }
details { min-width:0 }
summary { padding:12px 0; cursor:pointer; font-size:14px; font-weight:500 }
details:not(.versionen) { border-top:1px solid var(--linie) }
details[open] > summary { margin-bottom:8px }
.journal-form { margin-top:0; width:100% }
.journal-form label { display:block }
.journal-form input:not([type=checkbox]), .journal-form textarea { margin-top:6px; border-color:#a3a3a3 }
.journal-details { max-width:100%; overflow:auto; background:var(--grund); border-radius:6px }
blockquote { margin:0; border-left:2px solid #d4d4d4; padding:8px 16px; color:var(--leise) }
.anmeldung { max-width:none; margin:0; background:var(--grund) }
.anmeldung .box { max-width:440px; gap:24px }
.anmeldung .karte { padding:32px }
.anmeldung .box > div:first-child { display:flex; flex-direction:column; gap:16px }
.anmeldung p { font-size:14px }
.anmeldung h1 { font-size:24px }
.verbindung { background:var(--warn-bg); color:var(--warn); border:1px solid #d6bc77; border-radius:6px; padding:12px 16px; font-size:14px }
.nav-schalter { display:none; background:#fff; color:var(--text); border:1px solid #a3a3a3; border-radius:6px; min-height:44px; padding:8px 12px; font:inherit; font-size:14px }
@media (max-width:1100px) { .kopf-titel { display:none } .konto { margin-left:auto } }
@media (max-width:810px) {
  :root { --leos-inset:16px }
  h1 { font-size:24px; line-height:30px }
  .kopf .innen { padding:0 16px; gap:12px }
  .logo svg { width:128px }
  .konto { gap:10px }
  .konto .mono { display:none }
  .seitenleiste { position:static; width:auto; padding:12px 16px; border-right:0; border-bottom:1px solid var(--linie) }
  .seitenleiste-fuss, .bereichstitel { display:none }
  .js .nav-schalter { display:inline-flex; align-items:center; justify-content:center }
  .js .seitenleiste:not(.offen) { display:none }
  .arbeitsbereich { margin-left:0; padding:24px 16px 48px; gap:20px }
  .karte, .seitenkopf, .arbeitsbereich > section:not(.karte), .arbeitsbereich > form.journal-form { padding:20px }
  .raster { gap:20px }
  .knopf.klein { min-height:44px }
  .vliste > div { grid-template-columns:1fr 1fr }
  .anmeldung .karte { padding:24px }
}
@media (prefers-reduced-motion:no-preference) { a,button { transition:background-color 150ms ease-out,border-color 150ms ease-out } }

.knopf { overflow-wrap:normal; word-break:normal }
.tabelle td.mono { white-space:nowrap }
.report-aktionen { gap:8px; min-width:230px; max-width:340px; flex-wrap:wrap }
.report-aktionen .knopf { white-space:nowrap; flex-shrink:0 }
.tabelle td.report-firma { min-width:140px }
.knopf:disabled { opacity:.5; cursor:default; box-shadow:none }
.pdf-werkzeuge { margin:20px 0 }
.pdf-kopf-status { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:8px }
.pdf-vorschau { max-width:900px; margin:0 auto }
.pdf-seite { margin:0 0 28px }
.pdf-seite figcaption { margin-bottom:8px; color:var(--leise); font-size:13px }
.pdf-seite img { display:block; width:100%; height:auto; border:1px solid var(--linie); background:#fff }

/* Gemeinsame Workspace-Navigation bleibt auch auf kleinen Bildschirmen bedienbar. */
.kopf .innen { flex-wrap:nowrap }
@media(max-width:460px){.kopf .innen{gap:8px;padding:0 12px}.kopf .logo svg{width:110px}.kopf .sp-menu summary{padding:6px}.kopf .sp-menu-avatar summary{padding:0}.kopf .sp-workspace-name{max-width:100px}.kopf .nav-schalter{padding:6px;font-size:12px}}

@media(max-width:380px){.kopf .logo svg{width:90px}.kopf .sp-tools{gap:4px}.kopf .sp-menu summary{gap:4px}.kopf .sp-workspace-name{max-width:60px}.kopf .nav-schalter{padding:4px}}

.profil-upload{display:flex;flex-direction:column;gap:12px;max-width:520px}.profil-upload input{max-width:100%}.profil-upload .knopf{align-self:flex-start}.sp-avatar{object-fit:cover}
.profil-vorschau{width:80px;height:80px}.profil-upload input{min-width:0;width:100%}

.nur-lesen form:not(.filter):not([action^="/admin/abmelden"]) { display:none; }

/* Spaltenkopf bleibt ein schlanker, per Tastatur bedienbarer Sortierschalter. */
.sortierknopf{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:.25rem 0;cursor:pointer;text-decoration:none;white-space:nowrap}
.sortierknopf span{display:inline-block;min-width:1em;color:var(--leise,#666)}
th[aria-sort="ascending"] .sortierknopf,th[aria-sort="descending"] .sortierknopf{color:var(--text)}
.sortierknopf:hover{text-decoration:underline;text-underline-offset:3px}
.sortierknopf:focus-visible{outline:2px solid var(--text);outline-offset:4px;border-radius:2px}

.kontakt-form{display:flex;flex-direction:column;gap:16px;margin-top:16px;max-width:800px}.kontakt-form .knopf{align-self:flex-start}.kontakt-form textarea{width:100%;min-width:0;resize:vertical}.kontakt-form .zeile{align-items:flex-start;flex-wrap:wrap}.kontakt-text{white-space:pre-wrap;overflow-wrap:anywhere}.kontakt-eintrag{border-top:1px solid var(--linie);padding:20px 0}.kontakt-eintrag:first-of-type{margin-top:16px}.kontakt-stand{margin:20px 0;max-width:800px}.kontakt-stand h3{margin-top:16px}

/* Leos: kompakte neutrale Aktionen; Font Awesome Free regular trash-can (6.7.2). */
.report-verwaltung{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:170px}.report-status-form{display:flex;align-items:center;gap:6px}.report-status-form select{min-width:135px;min-height:36px;padding:6px 28px 6px 10px}.icon-knopf{width:36px;min-height:36px;padding:8px;display:inline-flex;align-items:center;justify-content:center}.icon-knopf svg{width:16px;height:18px;fill:currentColor}.icon-knopf:hover{color:#a11;background:#fff4f4;border-color:currentColor}.reportfilter{border:0;margin:0;padding:0;align-items:end}.reportfilter .feld{min-width:160px}.reportfilter .feld label{font-size:12px}.reportfilter .feld select{min-height:36px}
@media(max-width:810px){.icon-knopf,.report-status-form select{min-height:44px}.icon-knopf{width:44px}}
.js .report-status-form button{display:none}

#pdfstand progress{display:block;width:100%;max-width:36rem;height:8px;accent-color:var(--blau)}
.lead-start{display:flex;flex-direction:row;align-items:flex-end;gap:16px;flex-wrap:wrap}.lead-start .feld{flex:0 0 150px}.lead-start .knopf{margin:0;align-self:flex-end}
.lead-tabelle td{word-break:normal;overflow-wrap:normal}.lead-tabelle td:first-child{min-width:120px}.lead-tabelle td:nth-child(2){white-space:nowrap}.lead-tabelle td:nth-child(6){min-width:220px}.lead-tabelle td a{overflow-wrap:anywhere}

/* Gemeinsamer Reportwechsel: aktuelles PDF pro Kunde, im selben Tab. */
.seitenkopf.pdf-kopf { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:20px }
.pdf-kopf-titel { min-width:0 }
.pdf-kopf-titel h1 { overflow-wrap:anywhere }
.pdf-kopf .pdf-kopf-status { justify-content:flex-end; margin:0 }
.report-navigation { display:flex; align-items:center; justify-content:center; gap:10px }
.report-pfeil { width:42px; height:42px; min-width:42px; padding:10px; display:inline-flex; align-items:center; justify-content:center }
.report-pfeil svg { width:20px; height:20px }
.report-pfeil[aria-disabled="true"] { opacity:.35; cursor:default }
.report-position { white-space:nowrap; text-align:center }
@media (max-width:1050px) {
  .seitenkopf.pdf-kopf { grid-template-columns:minmax(0,1fr) }
  .report-navigation { justify-self:center }
  .pdf-kopf .pdf-kopf-status { grid-column:auto; justify-content:flex-start }
}

/* Interner Vertriebshinweis: neben der Einordnung, gemeinsam für alle Fassungen. */
.pdf-kopf-bearbeitung{grid-column:1/-1;display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;align-items:start}
.pdf-kopf .pdf-kopf-bearbeitung .pdf-kopf-status{justify-content:flex-start;align-items:flex-start}
.pdf-kopf-bearbeitung form,.vertriebsnotiz-lesend{min-width:0;margin:0}
.pdf-kopf-bearbeitung label{display:block;font-size:14px;margin-bottom:6px}
.pdf-kopf-bearbeitung textarea{display:block;width:100%;min-width:0;resize:vertical;min-height:88px}
.pdf-kopf-bearbeitung p{margin:6px 0}
.pdf-kopf-bearbeitung blockquote,.notiz-vergleich{white-space:pre-wrap;overflow-wrap:anywhere}
.notiz-bereit [data-notiz-speichern]{display:none}
.notiz-fehler [data-notiz-speichern]{display:inline-flex}
@media(max-width:640px){.pdf-kopf-bearbeitung{grid-template-columns:minmax(0,1fr);gap:16px}}
.mail-entwurf{max-width:900px}
.mail-entwurf textarea{width:100%;resize:vertical;line-height:1.55}
.mail-vorgabe{white-space:pre-wrap;overflow-wrap:anywhere}

/* Reportbereiche: alle Angaben und Hauptaktionen bleiben im sichtbaren Bereich. */
.report-uebersicht{background:transparent;border:0;border-radius:0;overflow:visible;max-width:100%}
.report-uebersicht table{display:block;width:100%;min-width:0}
.report-uebersicht caption{display:block;text-align:left;font-size:14px;color:var(--leise);margin-bottom:8px}
.report-uebersicht thead{display:block;border:1px solid var(--linie);background:var(--flaeche);border-radius:12px;padding:8px 16px;margin-bottom:16px}
.report-uebersicht thead tr{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}
.report-uebersicht th{display:block;border:0;padding:0;white-space:normal}
.report-uebersicht th[data-sort-type="none"]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;border:0}
.report-uebersicht .sortierknopf{min-height:36px;white-space:normal}
.report-uebersicht tbody{display:flex;flex-direction:column;gap:16px}
.report-uebersicht tbody>tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;background:var(--flaeche);border:1px solid var(--linie);border-radius:12px;padding:24px;min-width:0}
.report-uebersicht td,.report-uebersicht td.n,.report-uebersicht td.mono{display:block;min-width:0;height:auto;padding:0;border:0;white-space:normal;overflow-wrap:anywhere;order:10}
.report-uebersicht td::before{content:attr(data-beschriftung);display:block;color:var(--leise);font-size:12px;font-weight:500;margin-bottom:6px}
.report-uebersicht td.report-firma{min-width:0;grid-column:1/4;grid-row:1;order:1}
.report-uebersicht td[data-report-feld="website"]{grid-column:1/4;grid-row:2;order:2;color:var(--leise)}
.report-uebersicht td[data-report-feld="firma"]::before,.report-uebersicht td[data-report-feld="website"]::before{display:none}
.report-uebersicht .report-firma h2{font-size:20px;line-height:1.35}
.report-uebersicht .report-firma a{color:var(--text);text-decoration:none}
.report-uebersicht .report-firma a:hover{text-decoration:underline}
.report-uebersicht td[data-report-feld="index"]{grid-column:4;grid-row:1/3;order:3;background:var(--pd-surface-subtle);border-radius:8px;padding:12px 16px;font-size:32px;line-height:1.25;align-self:start}
.report-uebersicht td[data-report-feld="index"] p{font-size:12px}
.report-uebersicht td[data-report-feld="status"]{order:5}
.report-uebersicht td[data-report-feld="bearbeitung"]{order:6}
.report-uebersicht td[data-report-feld="druck"]{order:7}
.report-uebersicht td[data-report-feld="aktionen"]{grid-column:1/-1;order:4;border-top:1px solid var(--linie);padding-top:16px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.report-uebersicht td[data-report-feld="aktionen"]::before{display:none}
.report-hauptaktionen,.report-nebenaktionen-inhalt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
.report-uebersicht details.report-nebenaktionen{border:0;margin:0;max-width:100%}
.report-nebenaktionen summary{list-style:none;gap:8px;margin:0;min-height:44px;padding:10px 16px}
.report-nebenaktionen summary::-webkit-details-marker{display:none}
.report-nebenaktionen[open] summary span{transform:rotate(180deg)}
.report-nebenaktionen-inhalt{margin-top:12px}
.report-nebenaktionen-inhalt form{margin:0;max-width:100%}
.report-uebersicht .knopf{margin:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.report-uebersicht .chip{white-space:normal}
.report-uebersicht .vliste{min-width:0}
.report-uebersicht .vliste>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;overflow-wrap:anywhere}
@media (min-width:811px) and (max-width:1279px),(min-width:540px) and (max-width:810px){
 .report-uebersicht tbody>tr{grid-template-columns:repeat(2,minmax(0,1fr))}
 .report-uebersicht td.report-firma,.report-uebersicht td[data-report-feld="website"]{grid-column:1}
 .report-uebersicht td[data-report-feld="index"]{grid-column:2}
}
@media(max-width:539px){
 .report-uebersicht tbody>tr{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}
 .report-uebersicht td.report-firma,.report-uebersicht td[data-report-feld="website"],.report-uebersicht td[data-report-feld="index"],.report-uebersicht td[data-report-feld="status"]{grid-column:1;grid-row:auto}
 .report-uebersicht td[data-report-feld="index"]{font-size:28px}
 .report-hauptaktionen,.report-nebenaktionen,.report-nebenaktionen-inhalt,.report-nebenaktionen-inhalt form{width:100%}
 .report-hauptaktionen>.knopf,.report-nebenaktionen summary,.report-nebenaktionen-inhalt .knopf{width:100%}
 .report-uebersicht thead{padding:8px 12px}
 .report-uebersicht thead tr{gap:4px 14px}
 .report-uebersicht .sortierknopf{min-height:44px}
}

.report-uebersicht td[data-report-feld="aktionen"]>p{flex-basis:100%}
