/* Band 5 „Richtig versichert nach Plan“: Violett und Rosa wie das Cover. Basis: /style.css, /b1/b1.css, /b2/b2.css, /b3/b3.css */
:root {
  --plaster: #F3ECF5;
  --paper:   #FCFAFD;
  --ink:     #2C1836;
  --muted:   #5C4A66;
  --line:    #DCCDE3;
  --brass:   #8E44AD;
  --brass-d: #6C2E87;
  --rosa:    #FFD1F0;
}
.wait { background: #3A1E48; }
.wait button { background: var(--rosa); color: var(--ink); }
.wait button:hover { background: #FFE3F6; }
button { background: var(--brass); color: #fff; }
button:hover { background: var(--brass-d); }
.linkbtn, .linkbtn:hover { background: none; color: var(--ink); }
.linkbtn:hover { color: var(--brass-d); }
.beta, .btn { background: var(--rosa); color: var(--ink); }
.brand-key { color: var(--brass); }
.tiles a:hover, .wege a:hover { border-color: var(--brass); }
.tiles .s { background: var(--rosa); }
.stufen li.jetzt { background: #F7E9FB; }
.foot nav { flex-wrap: wrap; gap: 8px 18px; }
.tabs button { background: var(--plaster); color: var(--ink); }
.tabs button:hover { background: #EADDF0; }
.tabs button[aria-selected="true"] { background: var(--brass-d); color: #fff; border-color: var(--brass-d); }
.sr { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.tool-grid.gleich { grid-template-columns: 1fr 1fr; margin-top: 20px; }
.checks { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.checks .check, .two-cols .check { margin: 8px 0 0; font-size: 0.97rem; }
.check-zelle { display: flex; align-items: flex-end; padding-bottom: 8px; }
.check-zelle .check { margin: 0; }
.knoepfe { flex-wrap: wrap; }
.knoepfe button { margin-top: 0; }
.knoepfe .linkbtn { padding: 8px 0; }
.ok-tag { color: #2E6B3F; }
.no-tag { color: #A0412D; }
.offen-tag { color: var(--muted); font-weight: 700; }
.tag.good { background: #DCEBD9; } .tag.mid { background: #E2E7EE; } .tag.bad { background: #F5D6E9; }
.klein-h { font: 600 1.05rem/1.3 var(--display); margin: 18px 0 6px; }
.checkzeilen { list-style: none; padding: 0; margin: 0 0 6px; }
.checkzeilen li { padding: 7px 0; border-bottom: 1px solid var(--line); }
.checkzeilen .tag { margin-right: 6px; font-size: 0.78rem; }
.warnliste li { font-size: 0.98rem; }
table.nums tr.rente td { background: var(--plaster); }
.widerruf { font-weight: 700; margin: 0; }

/* Vertragsliste (Kapitel 1 und 10) */
.vliste { margin-top: 8px; }
fieldset.vertrag { border: 1px solid var(--line); border-left: 4px solid var(--brass); border-radius: 4px; background: #fff; padding: 2px 12px 10px; margin: 12px 0 0; min-width: 0; }
.v-kopf { display: grid; grid-template-columns: 1.4fr 1.3fr 0.8fr 0.95fr 1.2fr auto; gap: 0 10px; align-items: end; }
.v-kopf > div { min-width: 0; }
.v-kopf label, .v-grid label { font-size: 0.85rem; margin: 8px 0 4px; }
.v-kopf input, .v-kopf select, .v-grid input { min-height: 42px; padding-top: 8px; padding-bottom: 8px; font-size: 0.97rem; }
.v-weg { margin: 0 0 10px; font-size: 0.9rem; color: var(--muted); }
.v-mehr summary { cursor: pointer; font-size: 0.9rem; font-weight: 700; color: var(--muted); margin-top: 8px; }
.v-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 10px; }
.v-grid input[type="date"] { min-height: 42px; padding: 8px; }
@media (max-width: 1080px) {
  .v-kopf { grid-template-columns: 1fr 1fr 1fr; }
  .v-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .v-kopf { grid-template-columns: 1fr 1fr; }
  .v-kopf .v-art, .v-kopf .v-wer { grid-column: 1 / -1; }
  .v-weg { grid-column: 1 / -1; justify-self: start; margin-top: 8px; }
  .v-grid { grid-template-columns: 1fr; }
}

/* Stufen als Balken (Kapitel 1) */
.stufen-bars { display: grid; gap: 8px; margin: 4px 0 8px; }
.sbar { display: grid; grid-template-columns: 9.5em 1fr 5.5em; gap: 10px; align-items: center; font-variant-numeric: tabular-nums; }
.sbar span { font-size: 0.92rem; }
.sbar i { display: block; height: 14px; border-radius: 3px; background: var(--brass); }
.sbar-teuer i { background: #C38AD9; }
.sbar-aerger i { background: var(--rosa); border: 1px solid #E7A9D2; }
.sbar b { text-align: right; }
@media (max-width: 560px) { .sbar { grid-template-columns: 1fr 5.5em; } .sbar span { grid-column: 1 / -1; } }

/* Aussortieren (Kapitel 10) */
.sortier { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 10px 0; }
.sort-spalte { border-top: 6px solid var(--line); background: #fff; border-radius: 4px; padding: 10px 14px 6px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sort-brauchen { border-top-color: #5E9C6A; } .sort-pruefen { border-top-color: #6B7F99; } .sort-weg { border-top-color: var(--brass); }
.sort-spalte h3 { font: 600 1.1rem/1.3 var(--display); margin: 2px 0 6px; display: flex; justify-content: space-between; gap: 8px; }
.sort-spalte h3 span { font-variant-numeric: tabular-nums; }
.sort-spalte ul { list-style: none; padding: 0; margin: 0; }
.sort-spalte li { padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 0.96rem; }
.sort-spalte li:last-child { border-bottom: 0; }
.sort-spalte .grund { display: block; color: var(--muted); font-size: 0.86rem; margin-top: 2px; }
.sort-spalte .leer { color: var(--muted); }
@media (max-width: 920px) { .sortier { grid-template-columns: 1fr; } }

/* Schaden-Lotse (Kapitel 12) */
.wahl { display: grid; gap: 6px; }
.wahl-k { display: flex; gap: 10px; align-items: center; margin: 0; font-weight: 400; border: 1px solid var(--line); border-radius: 4px; padding: 9px 12px; background: #fff; cursor: pointer; }
.wahl-k input { accent-color: var(--brass-d); width: 18px; height: 18px; flex: none; margin: 0; }
.wahl-k:has(input:checked) { border-color: var(--brass); background: #F7EDFB; font-weight: 700; }
.steps-list li p { margin: 0; }
#r-sofort li { padding-bottom: 14px; }
#r-sofort li::before { background: var(--brass-d); }

/* Vorlagen */
.vl-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.vl-grid .breit { grid-column: 1 / -1; }
textarea.brief { font: 0.95rem/1.5 var(--body); min-height: 22em; }
.kopiert { color: #2E6B3F; font-weight: 700; }
#brief-druck { display: none; }
.a-liste summary { font-size: 1.02rem; }
.a-liste .zaehler { color: var(--muted); font: 400 0.88rem var(--body); margin-left: 6px; }

@media (max-width: 920px) { .tool-grid.gleich { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .checks, .vl-grid { grid-template-columns: 1fr; }
  .three { grid-template-columns: 1fr 1fr; }
}

@media print {
  .top, .foot, .wait, .note-legal, .example, .knoepfe, .druck-weg, .book, .calc .fine, details.v-mehr summary { display: none !important; }
  .tool-grid, .tool-grid.gleich { display: block; }
  body { background: #fff; }
  .out { border: 0; padding: 0; margin-top: 16px !important; }
  .scroll { overflow: visible; }
  table.druck-tab { font-size: 9pt; }
  table.cmp td, table.cmp th { white-space: normal; }
  details:not([open]) > *:not(summary) { display: block; }
  body.nur-brief > *:not(#brief-druck) { display: none !important; }
  body.nur-brief #brief-druck { display: block; white-space: pre-wrap; font: 11pt/1.5 Georgia, serif; }
}
table.druck-tab td, table.druck-tab th { white-space: normal; text-align: left; vertical-align: top; min-width: 6em; }
table.druck-tab td:nth-child(3), table.druck-tab th:nth-child(3) { text-align: right; white-space: nowrap; }
