/* Finanzkompass – Kundenbericht (Bildschirm, Druck, PDF) */
.report{--rb:#1d2a6e; --ra:#c98326; --ri:#14202b; --rm:#5d6b78; --rl:#dfe5ea; color-scheme:light;
  background:#fff; color:var(--ri); font-family:"Public Sans","Segoe UI",system-ui,sans-serif; font-size:10.5pt; line-height:1.45;
  width:100%; max-width:210mm; margin:0 auto; padding:16mm 15mm; box-shadow:0 1px 3px rgb(0 0 0 / .12)}
.report h1,.report h2{font-family:"Bricolage Grotesque","Segoe UI",sans-serif; margin:0; color:var(--ri)}
.report h1{font-size:20pt; line-height:1.15} .report h2{font-size:12.5pt; color:var(--rb); margin:0 0 6px}
.report .rhead{display:flex; justify-content:space-between; align-items:flex-start; gap:16px; border-bottom:3px solid var(--rb); padding-bottom:10px; margin-bottom:14px}
.report .rlogo{display:flex; align-items:center; gap:8px; font-family:"Bricolage Grotesque",sans-serif; font-weight:700}
.report .rlogo img{max-height:42px; max-width:180px}
.report .rmono{width:34px; height:34px; border-radius:7px; background:var(--rb); color:#fff; display:grid; place-items:center; font-weight:700}
.report .rmeta{font-size:9pt; color:var(--rm); text-align:right}
.report .rsec{margin:14px 0; break-inside:avoid}
.report .rk{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:8px 0}
.report .rk div{border:1px solid var(--rl); border-radius:6px; padding:7px 9px}
.report .rk b{display:block; font-family:"IBM Plex Mono",monospace; font-size:12pt}
.report .rk small{color:var(--rm); font-size:8pt; text-transform:uppercase; letter-spacing:.06em}
.report table{width:100%; border-collapse:collapse; font-size:9.5pt}
.report th,.report td{border-bottom:1px solid var(--rl); padding:5px 6px; text-align:left}
.report th{color:var(--rm); font-weight:600; font-size:8.5pt; text-transform:uppercase; letter-spacing:.04em}
.report td.r,.report th.r{text-align:right; font-family:"IBM Plex Mono",monospace; white-space:nowrap}
.report tr.tot td{font-weight:700; border-top:2px solid var(--ri); border-bottom:0}
.report .rflow{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.report .rflow div{border:1px solid var(--rl); border-radius:6px; padding:8px}
.report .rflow div:first-child{background:var(--rb); color:#fff; border-color:var(--rb)}
.report .rflow small{display:block; text-transform:uppercase; font-size:7.5pt; letter-spacing:.07em; opacity:.8}
.report .rflow b{font-family:"Bricolage Grotesque",sans-serif; font-size:11pt}
.report .rgap{background:#fbf3e7; border-left:4px solid var(--ra); padding:8px 10px; border-radius:4px}
.report .rnote{font-size:8pt; color:var(--rm); border-top:1px solid var(--rl); padding-top:8px; margin-top:16px}
.report .rber{display:flex; gap:14px; align-items:center; margin-top:22px; padding:12px 14px; border:1px solid var(--ri); border-radius:10px; break-inside:avoid}
.report .rber img{width:64px; height:64px; border-radius:50%; object-fit:cover; flex:none}
.report .rber small{display:block; color:var(--rm); font-size:7.5pt; text-transform:uppercase; letter-spacing:.06em}
.report .rber b{display:block; font-size:11pt; margin:1px 0 2px}
.report .rber span{display:block; font-size:9pt; color:var(--rm)}
.report .rsign{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:26px; font-size:8.5pt; color:var(--rm)}
.report .rsign div{border-top:1px solid var(--ri); padding-top:4px}
/* Farbiger Bericht */
.report, .report *{-webkit-print-color-adjust:exact; print-color-adjust:exact}
.report{--sc:var(--rb); padding:0 0 14mm; overflow:hidden}
.report > *:not(.rhead){margin-left:15mm; margin-right:15mm}
.report .rhead{background:linear-gradient(120deg, var(--rb) 0%, color-mix(in srgb,var(--rb) 70%, #2f6fe4) 100%); color:#fff; border-bottom:0; padding:12mm 15mm 9mm; margin:0 0 8mm; position:relative}
.report .rhead::after{content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,#0f8b8d,#2f6fe4,#e0861a,#1e9e6a,#e0544a,#7a52e0)}
.report .rhead h1{color:#fff; font-size:22pt}
.report .rhead > div > div{color:rgb(255 255 255 / .85)!important}
.report .rmeta{color:rgb(255 255 255 / .85); background:rgb(255 255 255 / .14); border-radius:8px; padding:6px 10px}
.report .rlogo{color:#fff} .report .rlogo img.own{background:#fff; border-radius:6px; padding:4px 6px} .report .rlogo img.m{height:46px; width:46px} .report .rlogo img.w{height:32px; width:auto}
.report .rmono{background:#fff; color:var(--rb)}
.report .rsec{border-left:4px solid var(--sc); padding-left:10px}
.report h2{color:var(--sc); display:flex; align-items:center; gap:8px}
.report h2::before{content:""; width:10px; height:10px; border-radius:3px; background:var(--sc)}
.report .rk div{background:color-mix(in srgb,var(--sc) 9%, #fff); border-color:color-mix(in srgb,var(--sc) 28%, #fff)}
.report .rk b{color:var(--sc)}
.report .rk div:last-child{background:var(--sc); border-color:var(--sc)} .report .rk div:last-child b,.report .rk div:last-child small{color:#fff}
.report thead th{background:color-mix(in srgb,var(--sc) 14%, #fff); color:color-mix(in srgb,var(--sc) 80%, #000)}
.report tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--sc) 4%, #fff)}
.report tr.tot td{background:color-mix(in srgb,var(--sc) 12%, #fff)!important; border-top-color:var(--sc)}
.report .rflow div:first-child{background:linear-gradient(135deg,#1e9e6a,#147a51); border-color:#1e9e6a}
.report .rflow div:nth-child(2){border-top:4px solid #2f6fe4; background:#eef3fd}
.report .rflow div:nth-child(3){border-top:4px solid #7a52e0; background:#f3effd}
.report .rgap{background:color-mix(in srgb,var(--ra) 16%, #fff); border-left-color:var(--ra); font-size:11pt}
.report .rnote{margin-top:12mm}
@media print{ .report{box-shadow:none; max-width:none} @page{size:A4; margin:10mm 0} }
/* Schmale Bildschirme (Handy): Bericht ohne Papierränder, Raster einspaltig bzw. zweispaltig. PDF und Druck sind A4-breit und bleiben unberührt. */
@media screen and (max-width:640px){
  .report > *:not(.rhead){margin-left:14px; margin-right:14px}
  .report .rhead{flex-direction:column; padding:20px 16px 16px; margin-bottom:18px}
  .report .rhead h1{font-size:18pt}
  .report .rmeta{text-align:left}
  .report .rk{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report .rflow{grid-template-columns:minmax(0,1fr)}
  .report table{font-size:8.5pt} .report th,.report td{padding:4px 5px}
  .report .rsign{gap:16px}
  .report .rnote{margin-top:20px}
}
