/* css/finanzierung.css – Seite „Finanzierung“ (Selbstauskunft, Unterlagen-Checkliste, Finanzierungsmappe). Präfix fin-. Module js/areas/vermoegen/finanzierung-*.js.
   Nur Tokens aus design.css. Das Papier der Mappe steht in css/finanzierung-papier.css (immer hell, Druckwerte). */
#finRoot{min-width:0}
.fin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3) var(--s4);margin-bottom:var(--s3)}
.fin-grid .wide,.fin-rowDetail .wide{grid-column:1/-1}
@media (max-width: 640px){
  .fin-grid{grid-template-columns:minmax(0,1fr)}
}
.fin-fl{font-size:var(--fs-sm);color:var(--ink-2)}
.fin-val{display:flex;min-height:40px;align-items:center;color:var(--ink-2)}
.fin-narrow{max-width:200px}
.fin-inp{position:relative}
.fin-inp .input{padding-right:var(--s7)}
.fin-inp>span{position:absolute;right:var(--s3);top:50%;transform:translateY(-50%);color:var(--ink-3);font-size:var(--fs-sm);pointer-events:none;max-width:var(--s7);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-sw{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) 0}
.fin-sw .help{display:block}
.fin-sub{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm);font-weight:600;margin:var(--s4) 0 var(--s2)}
.fin-sub:first-child{margin-top:0}
.fin-h2{margin:var(--s4) 0 0;font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:600}
.fin-div{height:1px;background:var(--border);margin:var(--s3) 0}
.fin-warn{display:flex;gap:var(--s1);align-items:center;color:var(--warning);font-size:var(--fs-sm);margin:var(--s2) 0 0}
.fin-ok{display:flex;gap:var(--s1);align-items:center;color:var(--success);font-size:var(--fs-sm)}
.fin-bad{color:var(--danger)}
.fin-warnI{color:var(--warning)}
.fin-status{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;justify-content:space-between}
.fin-dirty{display:inline-flex;gap:var(--s1);align-items:center;color:var(--warning);font-size:var(--fs-sm)}
.fin-dirty[hidden]{display:none}
.fin-calc{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s1) 0;font-size:var(--fs-sm)}
.fin-calc.total{font-weight:600;border-top:1px solid var(--border);margin-top:var(--s2);padding-top:var(--s2)}
.fin-sum{display:flex;justify-content:space-between;gap:var(--s3);padding-top:var(--s3);margin-top:var(--s3);border-top:1px solid var(--border);font-weight:600}

/* aufklappbare Abschnitte */
.fin-sec{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}
.fin-sec>summary{list-style:none;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);cursor:pointer;min-height:52px}
.fin-sec>summary::-webkit-details-marker{display:none}
.fin-sec>summary .t{font-weight:600}
.fin-sec>summary .s{margin-left:auto;color:var(--ink-3);font-size:var(--fs-sm);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fin-sec>summary .chev{color:var(--ink-3);flex:none;transition:transform .15s}
.fin-sec[open]>summary .chev{transform:rotate(180deg)}
.fin-secIcon{color:var(--a-vermoegen);display:inline-flex}
.fin-body{padding:var(--s4);border-top:1px solid var(--border)}
.fin-docs{padding-top:var(--s1)}
@media (prefers-reduced-motion: reduce){
  .fin-sec>summary .chev{transition:none}
}

/* Positionen und Listen */
.fin-list{display:flex;flex-direction:column}
.fin-pos{border-top:1px solid var(--border)}
.fin-pos:first-child{border-top:0}
.fin-posTop{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s3) 0;border:0;background:none;text-align:left;cursor:pointer;min-height:52px;font:inherit;color:inherit}
.fin-posT{flex:1;min-width:0;display:flex;flex-direction:column}
.fin-posT b{font-weight:500;overflow:hidden;text-overflow:ellipsis}
.fin-posT small{color:var(--ink-3);font-size:var(--fs-xs)}
.fin-posR{text-align:right;font-weight:500}
.fin-posR small,.fin-posR .tag{font-weight:400}
.fin-posBody{padding:0 0 var(--s4)}
.fin-loanEdit{padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:var(--s2)}
.fin-take{background:var(--surface-2);border-style:dashed}
.fin-take p{margin:0 0 var(--s2)}
.fin-part{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border)}
.fin-part:first-child{border-top:0}
.fin-part .t{flex:1;min-width:0}
.fin-part .t small{display:block;color:var(--ink-3);font-size:var(--fs-xs)}
.fin-bankBar{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3);border-radius:var(--r-sm);background:var(--surface-2);margin:var(--s2) 0 var(--s3);font-size:var(--fs-sm)}
.fin-bankBar>span:first-child{color:var(--a-vermoegen)}
.fin-bankBar .btn{margin-left:auto}
.fin-aus{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.8fr);gap:var(--s3);align-items:center;padding:var(--s2) 0;border-top:1px solid var(--border)}
.fin-aus.head{color:var(--ink-3);font-size:var(--fs-xs);border-top:0;padding-bottom:0}
.fin-aus .l small{display:block;color:var(--ink-3);font-size:var(--fs-xs)}
.fin-aus .b{text-align:right;font-weight:600}
.fin-aus .b small{display:block;font-weight:400;color:var(--ink-3);font-size:var(--fs-xs)}
.fin-aus.sum{font-weight:600}
.fin-autoVal{display:flex;min-height:40px;align-items:center;color:var(--ink-2)}
@media (max-width: 640px){
  .fin-aus{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
  .fin-aus .l{grid-column:1/-1}
  .fin-aus.head{display:none}
  .fin-bankBar{flex-wrap:wrap}
  .fin-bankBar .btn{margin-left:0}
}

/* Checkliste */
.fin-vh{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:flex-end}
.fin-vhSel{flex:1 1 220px}
.fin-vhMeta{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.fin-filters{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.fin-search{position:relative;flex:1 1 200px;min-width:0}
.fin-search .lc{position:absolute;left:var(--s3);top:50%;transform:translateY(-50%);color:var(--ink-3)}
.fin-search .input{padding-left:36px}
.fin-row{border-top:1px solid var(--border)}
.fin-row:first-child{border-top:0}
.fin-rowTop{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;min-height:52px}
.fin-st{flex:none;display:inline-flex;align-items:center;gap:var(--s1);min-width:118px;padding:var(--s1) var(--s2);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;font-size:var(--fs-xs);font-weight:500}
.fin-st[disabled]{cursor:default;opacity:.7}
.fin-st.s-fehlt{color:var(--ink-3)}
.fin-st.s-angefordert{color:var(--warning)}
.fin-st.s-liegt{color:var(--success)}
@media (max-width: 640px){
  .fin-st{min-width:0}
  .fin-st .lbl{display:none}
}
.fin-rowMain{flex:1;min-width:0;border:0;background:none;text-align:left;cursor:pointer;padding:var(--s1) 0;display:flex;flex-direction:column;font:inherit;color:inherit}
.fin-rowMain b{font-weight:500}
.fin-rowMain small{color:var(--ink-3);font-size:var(--fs-xs)}
.fin-row.off .fin-rowMain b{color:var(--ink-3);text-decoration:line-through}
.fin-rowDetail{padding:0 0 var(--s3);display:grid;gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width: 641px){
  .fin-rowDetail{padding-left:130px}
}
@media (max-width: 640px){
  .fin-rowDetail{grid-template-columns:minmax(0,1fr)}
}
.fin-issue{display:flex;gap:var(--s2);align-items:flex-start;padding:var(--s2) 0;font-size:var(--fs-sm)}
.fin-issue .btn{margin-left:auto}

/* Mappe: Karten links, mitlaufende Vorschau rechts */
.fin-subtabs{margin-top:calc(-1 * var(--s2))}
.fin-mp{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:start}
@media (min-width: 1024px){
  .fin-mp{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fin-mpR{position:sticky;top:var(--s4)}
}
@media (max-width: 1023px){
  .fin-mpR{order:-1}
}
.fin-pv{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
.fin-chk{border:1px solid var(--border);border-radius:var(--r-sm);margin-top:var(--s2)}
.fin-chkRow{display:flex;align-items:center;gap:var(--s1);padding:0 var(--s1) 0 var(--s3);border-top:1px solid var(--border);min-height:44px}
.fin-chkRow:first-child{border-top:0}
.fin-chkRow label{flex:1;display:flex;align-items:center;gap:var(--s3);cursor:pointer;min-width:0}
.fin-chkRow input{width:18px;height:18px;accent-color:var(--primary);flex:none}
.fin-chkRow small{display:block;color:var(--ink-3);font-size:var(--fs-xs)}
.fin-dot{width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block}
.fin-deckOne{display:flex;gap:var(--s3);align-items:center;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s3);margin-bottom:var(--s3)}
.fin-deckOne b{display:block;font-weight:600;font-size:var(--fs-sm)}
.fin-deckOne small{color:var(--ink-3);font-size:var(--fs-xs)}
.fin-deckOne .pv{flex:none;width:120px;display:block;position:relative;height:56px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);overflow:hidden}
.fin-deckOne .pv i{position:absolute;display:block}
.fin-deckOne .l1{left:10px;top:10px;width:50%;height:5px;background:var(--border)}
.fin-deckOne .l2{left:10px;top:20px;width:32%;height:4px;background:var(--border)}
.fin-deckOne .art{left:0;right:0;bottom:0;height:16px;border-bottom:3px solid var(--c);background:repeating-linear-gradient(90deg,transparent 0 12px,color-mix(in srgb,var(--c) 25%,var(--surface-2)) 12px 26px)}
.fin-optList{margin-top:var(--s3)}
.fin-bigPg{width:var(--bw);height:var(--bh)}
.fin-bigIn{width:794px;transform:scale(var(--sc));transform-origin:0 0}
.finBig{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 60%,transparent);z-index:60;overflow:auto;padding:var(--s5) var(--s4);display:flex;flex-direction:column;align-items:center;gap:var(--s3)}
.fin-bigBar{display:flex;gap:var(--s2);align-items:center;color:var(--on-solid);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:center}
.fin-dlg{max-height:calc(100dvh - var(--s6));overflow-y:auto}
