/* css/bewerbung-docs.css – Papier-Dokumente der Bewerbungsvorbereitung (Lebenslauf, Anschreiben, Kündigung). Unabhängig vom App-Theme: ein Blatt ist immer weiß mit dunkler Schrift.
   Die Akzentfarbe kommt je Stil als --doc-accent (Datenfarbe); alle Maße in mm/pt für A4. */
/* design-audit:ignore-start */
/* Überschriften im Blatt erben die Schrift des Stils, nicht die der App (Seitentitel in Newsreader). Null Spezifität, damit die Regeln unten gewinnen. */
:where(.doc) :is(h1,h2,h3){font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:normal;text-transform:none;line-height:inherit;margin:0}
.bw-docWrap{position:relative;width:100%;aspect-ratio:210/297;border-radius:4px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.08)}
.bw-docWrap>.doc,.bw-docWrap>.cvPage{position:absolute;top:0;left:0;transform-origin:0 0;transform:scale(var(--k,.5))}
.bw-warn{margin-top:var(--s3)}
#bwPrintRoot{display:none}
.doc{--doc-ink:#1E2328;--doc-ink-2:#4B535A;--doc-ink-3:#80878D;--doc-tint:color-mix(in srgb,var(--doc-accent) 9%,#fff);--z:1;--lh:1.45;
  --headTop:14mm;--addrTop:45mm;--infoTop:62.7mm;--bodyTop:98.5mm;--f1:105mm;--f2:210mm;--lph:24mm;
  width:210mm;height:297mm;background:#fff;color:var(--doc-ink);position:relative;overflow:hidden;
  font-family:"IBM Plex Sans",Arial,sans-serif;font-size:calc(10.5pt * var(--z));line-height:var(--lh);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.doc.din-a{--headTop:7mm;--addrTop:27mm;--infoTop:44.7mm;--bodyTop:80mm;--f1:87mm;--f2:192mm;--lph:17mm}
.doc.f-mix .dName,.doc.f-mix .cv h2,.doc.f-mix .ltSubj{font-family:"Newsreader",Georgia,serif;font-weight:500;letter-spacing:0}
.doc.f-serif{font-family:"Newsreader",Georgia,serif}
.doc.f-serif .dName{font-weight:500;letter-spacing:0}
.doc p{margin:0 0 calc(3.2mm * var(--z))}
.dName{font-size:calc(24pt * var(--z));font-weight:600;line-height:1.05;letter-spacing:-.01em;margin:0;color:var(--doc-ink)}
.dRole{color:var(--doc-accent);font-weight:500;font-size:calc(11pt * var(--z));margin:1.5mm 0 0}
.dPhoto{overflow:hidden;background:#eceff0;flex:none}
.dPhoto.rect{width:35mm;height:45mm;border-radius:1.2mm}
.dPhoto.round{width:40mm;height:40mm;border-radius:50%}
.dPhoto img,.dPhoto svg{width:100%;height:100%;object-fit:cover;object-position:50% var(--py,35%);transform:scale(var(--pz,1));display:block}

/* --- Lebenslauf: gemeinsam --- */
.cv{font-size:calc(10pt * var(--z));line-height:calc(var(--lh) - .05)}
.cv h2{font-size:calc(11pt * var(--z));font-weight:600;color:var(--doc-accent);margin:0 0 2.2mm;padding-bottom:1.2mm;border-bottom:.3mm solid color-mix(in srgb,var(--doc-accent) 35%,#fff);break-after:avoid}
.cv h3{font-size:calc(10.5pt * var(--z));font-weight:600;margin:0}
.cvSec{margin-bottom:3.4mm}
.cvItem{display:grid;grid-template-columns:30mm 1fr;gap:4mm;margin-bottom:2.6mm;break-inside:avoid}
.cvWhen{color:var(--doc-ink-3);font-size:calc(9pt * var(--z));padding-top:.4mm;font-variant-numeric:tabular-nums}
.dates-oben .cvItem{grid-template-columns:1fr!important;gap:0}
.dates-oben .cvWhen{padding:0;order:0}
.cv ul{margin:0;padding-left:4mm}
.cv li,.cvDesc,.cvOrg{font-size:calc(9.2pt * var(--z))!important}
.cv li{margin:0 0 .3mm}
.cvOrg{color:var(--doc-ink-2);margin:0 0 .6mm!important}
.cvDesc{margin:0 0 1mm!important}
.cvContact{list-style:none;padding:0!important;margin:4mm 0 0!important;color:var(--doc-ink-2)}
.cvContact li{margin:0 0 .8mm!important;font-size:calc(9pt * var(--z))!important}
.cvComps{display:grid;grid-template-columns:repeat(3,1fr);gap:2mm 5mm}
.cvComp{font-size:calc(9pt * var(--z));color:var(--doc-ink-2);line-height:1.35}
.cvComp b{display:block;color:var(--doc-ink);font-weight:600;font-size:calc(9.5pt * var(--z));margin-bottom:.4mm}
.cvTri{display:grid;grid-template-columns:repeat(3,1fr);gap:7mm;break-inside:avoid}
.cvLang{font-size:calc(9pt * var(--z));margin-bottom:1.3mm}
.cvLang small{display:block;color:var(--doc-ink-3);font-size:calc(8.5pt * var(--z))}
.cvSkill{display:flex;justify-content:space-between;align-items:center;gap:2mm;font-size:calc(9pt * var(--z));margin-bottom:1.4mm}
.cvSkill small{color:var(--doc-ink-3);font-size:calc(8.5pt * var(--z));white-space:nowrap}
.cvDots{display:inline-flex;gap:1mm;flex:none}
.cvDots i{width:2mm;height:2mm;border-radius:50%;background:color-mix(in srgb,var(--doc-accent) 22%,#fff)}
.cvDots i.on{background:var(--doc-accent)}
.cvBar{flex:none;width:16mm;height:1.6mm;border-radius:1mm;background:color-mix(in srgb,var(--doc-accent) 18%,#fff);overflow:hidden}
.cvBar i{display:block;width:var(--w);height:100%;background:var(--doc-accent)}
.cvSign{margin-top:8mm;display:flex;justify-content:space-between;align-items:flex-end;font-size:calc(9pt * var(--z));color:var(--doc-ink-2)}
.cvSign span{display:block;width:62mm;border-top:.3mm solid var(--doc-ink-3);padding-top:1mm}

/* --- Lebenslauf: Kopf oben (Linie, Band, Zentriert) --- */
.cvK{padding:14mm 18mm 12mm 22mm}
.cvK .cvHead{display:flex;justify-content:space-between;gap:8mm;align-items:flex-start;margin-bottom:4.5mm;padding-bottom:3.5mm;border-bottom:.6mm solid var(--doc-accent)}
.h-band .cvK .cvHead{margin:-14mm -18mm 5mm -22mm;padding:12mm 18mm 6mm 22mm;background:var(--doc-tint);border:0}
.h-linie .cvK .cvHead,.h-raster .cvK .cvHead{border-bottom:.25mm solid #dfe3e6}

/* Modern (Linie): Kontaktzeile mit Symbolen, Überschriften mit Akzentmarke, Zeitleiste, Kompetenzen als Karten */
.h-linie .cvK .dName{font-size:calc(27pt * var(--z))}
.h-linie .cvK .dRole{font-size:calc(12pt * var(--z));margin-top:2mm}
.h-linie .cvK .cvContact,.h-band .cvK .cvContact{display:flex;flex-wrap:wrap;gap:1.2mm 5mm;margin-top:4mm!important;max-width:120mm}
.h-linie .cvK .cvContact li,.h-band .cvK .cvContact li{margin:0!important}
.cvContact li{display:flex;align-items:center;gap:1.6mm}
.cvContact li span{min-width:0;overflow-wrap:anywhere}
.cvContact svg{width:3.2mm;height:3.2mm;flex:none;color:var(--doc-accent)}
.h-linie .cv h2{display:flex;align-items:center;gap:2.5mm;border:0;padding:0;text-transform:uppercase;letter-spacing:.09em;font-size:calc(9.5pt * var(--z));margin-bottom:3mm}
.h-linie .cv h2::before{content:"";width:5mm;height:1mm;border-radius:.5mm;background:var(--doc-accent);flex:none}
.h-linie .cv h2::after{content:"";flex:1;height:.25mm;background:#e3e6e8}
.h-linie .docTl .cvItem>div:last-child,.h-band .docTl .cvItem>div:last-child{position:relative;padding-left:4.5mm;border-left:.3mm solid color-mix(in srgb,var(--doc-accent) 30%,#fff);padding-bottom:1mm}
.h-linie .docTl .cvItem>div:last-child::before,.h-band .docTl .cvItem>div:last-child::before{content:"";position:absolute;left:-1.25mm;top:1mm;width:2.2mm;height:2.2mm;border-radius:50%;background:#fff;border:.5mm solid var(--doc-accent);box-sizing:border-box}
.h-linie .docTl .cvItem,.h-band .docTl .cvItem{margin-bottom:0;gap:3mm}
.h-linie .docTl .cvItem:first-child>div:last-child::before,.h-band .docTl .cvItem:first-child>div:last-child::before{background:var(--doc-accent)}
.h-linie .cvComp,.h-band .cvComp,.h-raster .cvComp{border-left:.8mm solid var(--doc-accent);padding:.6mm 0 .6mm 2.5mm;background:var(--doc-tint)}

/* Raster: Überschrift links in eigener Spalte, Inhalt rechts; ruhig, gut für Projektmanagement-Profile */
.h-raster .cvK .cvHead{align-items:flex-end;padding-bottom:5mm;margin-bottom:5mm}
.h-raster .cvK .dName{font-size:calc(30pt * var(--z));letter-spacing:-.02em;line-height:1}
.h-raster .cvK .dRole{color:var(--doc-ink-2);font-weight:400;font-size:calc(12pt * var(--z))}
.h-raster .cvK .cvContact{display:grid;grid-template-columns:auto auto;gap:1.2mm 6mm;margin-top:4mm!important;justify-content:start}
.h-raster .cvK .cvContact li{margin:0!important}
.h-raster .cvK .cvHead .dPhoto.rect{width:27mm;height:35mm}
.h-raster .cvK .cvHead .dPhoto.round{width:30mm;height:30mm}
.h-raster .cvSec{display:grid;grid-template-columns:38mm 1fr;gap:4mm;padding-top:2.6mm;border-top:.25mm solid #e3e6e8;margin-bottom:2.6mm}
.h-raster .cvSec:first-of-type{border-top:0;padding-top:0}
.h-raster .cv h2{border:0;padding:0;margin:0;color:var(--doc-accent);text-transform:uppercase;letter-spacing:.05em;hyphens:auto;overflow-wrap:anywhere;font-size:calc(8.8pt * var(--z));line-height:1.5}
.h-raster .cvItem{grid-template-columns:1fr!important;gap:0}
.h-raster .cvWhen{padding:0;font-weight:500;color:var(--doc-accent)}
.h-raster .cvSec:has(.cvShortList){break-inside:avoid}
.h-raster .cvItem:last-child{margin-bottom:0}
.h-raster .cvSec{margin-bottom:2.2mm}
.docTl .cvItem:last-child>div:last-child{padding-bottom:0}
.h-raster .cvShortList{display:grid;grid-template-columns:repeat(2,1fr);gap:0 6mm}

/* --- Lebenslauf: Seitenleiste --- */
.cvS{display:grid;grid-template-columns:66mm 1fr}
.cvSide{background:var(--doc-tint);padding:16mm 10mm 14mm 11mm;min-height:297mm}
.cvSide .dPhoto{margin:0 auto 7mm}
.cvSide h2{font-size:calc(10.5pt * var(--z))}
.cvSide .cvContact{margin-top:0!important}
.cvSide .cvSec{margin-bottom:6mm}
.cvMain{padding:18mm 16mm 14mm 10mm}
.cvMain .cvHeadS{margin-bottom:8mm}
.cvS .cvSign{margin-top:8mm}
.cvSign{break-inside:avoid}
.cvS .cvItem{grid-template-columns:24mm 1fr;gap:3mm}

/* --- Brief nach DIN 5008 (Form B Standard, Form A wählbar) --- */
.ltHead{position:absolute;top:var(--headTop);left:25mm;right:20mm;display:flex;justify-content:space-between;align-items:flex-end;gap:6mm;padding-bottom:3mm;border-bottom:.5mm solid var(--doc-accent)}
.ltHead .dName{font-size:calc(19pt * var(--z))}
.ltHead .dRole{font-size:calc(10pt * var(--z))}
.ltRight{display:flex;align-items:flex-end;gap:5mm}
.ltContact{text-align:right;font-size:calc(8.3pt * var(--z));line-height:1.45;color:var(--doc-ink-2)}
.ltHead .dPhoto.rect{width:calc(var(--lph) * .78);height:var(--lph);border-radius:1mm}
.ltHead .dPhoto.round{width:var(--lph);height:var(--lph)}
.h-band .ltHead{top:0;left:0;right:0;padding:calc(var(--headTop) - 3mm) 20mm 4mm 25mm;background:var(--doc-tint);border:0}
.h-leiste .ltHead{border:0}
.h-leiste .ltStrip{position:absolute;left:0;top:0;bottom:0;width:13mm;background:var(--doc-tint);border-right:1.2mm solid var(--doc-accent)}
.h-raster .ltHead{flex-direction:column;align-items:flex-start;gap:1.5mm;border-bottom:.25mm solid var(--doc-ink-3)}
.h-raster .ltHead .dName{font-size:calc(22pt * var(--z));letter-spacing:-.02em}
.h-raster .ltHead .dRole{color:var(--doc-ink-2);font-weight:400}
.h-raster .ltHead .ltContact{text-align:left}
.h-raster .ltHead .ltContact br{display:none}
.h-raster .ltHead .ltContact span~span::before{content:"  ·  ";white-space:pre}
.h-raster .ltHead .dPhoto{position:absolute;right:0;bottom:3mm}
.ltSender{position:absolute;top:var(--headTop);right:20mm;text-align:right;font-size:calc(9.5pt * var(--z));line-height:1.4;color:var(--doc-ink)}
.ltSender b{font-weight:600}
.din-a .ltSender{top:5mm;font-size:calc(8.5pt * var(--z));line-height:1.3}
.ltAddr{position:absolute;top:var(--addrTop);left:25mm;width:85mm;height:45mm}
.ltRueck{height:17.7mm;display:flex;align-items:flex-end;padding-bottom:1.2mm;font-size:7pt;color:var(--doc-ink-3)}
.ltTo{font-size:calc(10.5pt * var(--z));line-height:1.4}
.ltInfo{position:absolute;top:var(--infoTop);left:125mm;right:20mm;font-size:calc(8.6pt * var(--z));line-height:1.4}
.ltInfo b{font-size:calc(10.5pt * var(--z));font-weight:500}
.ltInfo div{align-items:baseline}
.ltInfo div{display:grid;grid-template-columns:28mm 1fr}
.ltInfo span{color:var(--doc-ink-3)}
.ltBody{position:absolute;top:var(--bodyTop);left:25mm;right:20mm;bottom:16mm;overflow:hidden}
.has-foot .ltBody{bottom:22mm}
.ltPlace{text-align:right;margin-bottom:6mm!important}
.ltSubj{font-weight:600;margin-bottom:calc(8mm * var(--z))!important}
.ltGruss{margin-top:5mm!important}
.ltSig{margin-top:14mm;width:62mm;border-top:.3mm solid var(--doc-ink-3);padding-top:1mm}
.ltSig.noLine{border-top:0;margin-top:12mm}
.ltAnl{margin-top:7mm;font-size:calc(9pt * var(--z));color:var(--doc-ink-2)}
.ltAnl b{display:block;color:var(--doc-ink);font-weight:600}
.ltEmpf{margin:8mm .6mm 0 0;border:.3mm dashed var(--doc-ink-3);border-radius:1mm;padding:3.5mm 4mm;font-size:calc(9pt * var(--z));color:var(--doc-ink-2)}
.ltEmpf b{color:var(--doc-ink);display:block;margin-bottom:3mm}
.ltEmpf div{display:flex;gap:3mm;margin-top:5mm}
.ltEmpf div span{flex:1;border-top:.3mm solid var(--doc-ink-3);padding-top:1mm}
.ltFoot{position:absolute;left:25mm;right:20mm;bottom:9mm;border-top:.25mm solid #d5d9dc;padding-top:2mm;text-align:center;font-size:7.5pt;color:var(--doc-ink-3)}
.fm{position:absolute;left:5mm;width:4mm;border-top:.25mm solid #9aa0a5}
.fm.f1{top:var(--f1)}.fm.f2{top:var(--f2)}.fm.lo{top:148.5mm;width:6mm}
/* design-audit:ignore-end */

/* ===== Mehrseitiger Lebenslauf: feste A4-Seiten =====
   BewerbungDocs.paginate misst den Lebenslauf in einem Stück, schiebt Einträge über die Seitengrenze auf die nächste Seite und baut je Seite ein
   festes Blatt (.cvPage) mit dem passenden Ausschnitt (.cvWin). Die Farbspalte der Seitenleiste ist ein eigener Streifen je Blatt, also durchgehend.
   Seite 1: 0 bis 287 mm. Folgeseiten: 12 mm Rand oben, 275 mm Inhalt, 10 mm unten. */
/* design-audit:ignore-start */
.doc.paged{height:auto;overflow:visible;background:transparent}
.doc.paged .cvSide{background:transparent}
.cvSide{position:relative}
.cvSideP2{margin-top:2mm}
.cvPage{position:relative;width:210mm;height:297mm;overflow:hidden;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cvPageBar{position:absolute;left:0;top:0;bottom:0;width:66mm;background:color-mix(in srgb,var(--doc-accent) 9%,#fff)}
.cvWin{position:absolute;left:0;top:var(--wt);height:var(--wh);width:210mm;overflow:hidden}
.docShift{position:absolute;left:0;top:calc(var(--ws) * -1);width:210mm}
.bwMeasure{position:absolute;left:-9999px;top:0}
/* Messung vor dem Druck: unsichtbar außerhalb des Bildes, aber mit Layout */
#bwPrintRoot.measure{display:block;position:absolute;left:-9999px;top:0}
/* design-audit:ignore-end */

/* ===== Druck: nur das Dokument, A4 ohne Ränder ===== */
/* design-audit:ignore-start */
/* Seitenrand 0 gleich dreifach festgelegt (allgemein, außerhalb von @media und als benannte Seite): Chrome übernimmt im Druckdialog sonst
   mancherorts die eigenen Standardränder, verkleinert das Blatt und schneidet die Seitenleiste ab. */
@page{size:A4;margin:0}
@page bw{size:A4;margin:0}
@media print{
  @page{size:A4;margin:0}
  #bwPrintRoot,#bwPrintRoot .doc,#bwPrintRoot .cvPage{page:bw}
  html,body{background:#fff!important}
  body.bw-printing>:not(#bwPrintRoot){display:none!important}
  body.bw-printing #bwPrintRoot{display:block}
  #bwPrintRoot *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #bwPrintRoot .doc{transform:none!important;box-shadow:none}
  #bwPrintRoot .cvPage{break-after:page;page-break-after:always}
  #bwPrintRoot .cvPage:last-child{break-after:auto;page-break-after:auto}
}
/* design-audit:ignore-end */
