/* Bankpakke (#/bankpakke). Screen layout plus an A4 print layout: one section
   a page (front, result, bank and debt, 13 weeks, what the plan rests on,
   the numbers' health). The shell is hidden in print by feat-report.css. */
.pk{ display:flex; flex-direction:column; gap:16px }
.pk-toolbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap }
.pk-pick{ display:flex; gap:8px; align-items:center; font-size:13px; color:var(--ink-2) }
.pk-pick select{ max-width:280px }
.pk-toolbar .btn.primary{ display:inline-flex; gap:7px; align-items:center }
.pk-freeze{ display:inline-flex; gap:8px; align-items:center; flex-wrap:wrap }
.pk-freeze .input{ width:240px }
.pk-err{ font-size:13px }
.pk-s{ display:flex; flex-direction:column; gap:14px; min-width:0 }
.pk-h{ font-size:17px; letter-spacing:-.01em; margin:10px 2px 0 }
.pk-head{ padding:2px 2px 0 }
.pk-head .pk-kicker{ font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3) }
.pk-head h2{ font-size:24px; letter-spacing:-.02em; margin:4px 0 6px }
.pk-head p{ margin:0; color:var(--ink-2); font-size:13px; max-width:900px }
.pk-comment p{ margin:0; white-space:pre-wrap; line-height:1.55; font-size:14px }
.pk-tiles{ grid-template-columns:repeat(4,minmax(0,1fr)) }
.pk-tiles .stat .value{ font-size:21px }
.pk-list{ margin:0; padding-left:20px; display:flex; flex-direction:column; gap:6px; line-height:1.5; font-size:13.5px; max-width:960px }
.pk-list.pk-small{ font-size:12.5px; gap:3px }
.pk-p{ margin:0 0 6px; font-size:13.5px; line-height:1.5 }
.pk-note{ margin:0; padding:8px 20px 12px; color:var(--ink-3); font-size:12px; line-height:1.45 }
.card:not(.flush) .pk-note{ padding:8px 0 0 }
.pk-empty{ margin:0; color:var(--ink-2); font-size:13px }
.pk-table td b{ font-weight:650 }
.pk-table tr.total td{ font-weight:650 }
.pk-table tr.pk-over td{ background:var(--neg-wash) }
.pk-flag{ display:inline-block; margin-left:4px; padding:0 6px; border-radius:999px; font-size:10.5px; font-weight:650;
  color:var(--neg); border:1px solid var(--neg-2); white-space:nowrap }
.pk-loading{ font-size:12.5px }
.pk-num td.num, .pk-num th.num{ white-space:nowrap }
.pk-why{ color:var(--ink-3); font-size:11.5px; line-height:1.4; margin-top:2px; max-width:520px; white-space:normal }
.pk-two{ grid-template-columns:repeat(2,minmax(0,1fr)) }
.pk-dl{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; margin:0; font-size:13.5px }
.pk-dl dt{ color:var(--ink-2) }
.pk-dl dd{ margin:0; text-align:right; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap }
.pk-edit{ display:flex; flex-direction:column; gap:12px; max-width:900px }
.pk-text{ width:100%; resize:vertical; line-height:1.5; font-size:13.5px; padding:10px 12px }
.pk-check{ display:flex; gap:8px; align-items:center; font-size:13px; color:var(--ink-2) }
.pk-foot{ margin:0; color:var(--ink-3); font-size:12px }

@media (max-width: 900px){
  .pk-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .pk-two{ grid-template-columns:minmax(0,1fr) }
}
@media (max-width: 560px){
  .pk-tiles{ grid-template-columns:minmax(0,1fr) }
  .pk-head h2{ font-size:21px }
  .pk-pick{ flex-wrap:wrap }
  .pk-pick select, .pk-freeze .input{ max-width:100%; width:100% }
  .pk-toolbar .spacer{ display:none }
}

@media print{
  .pk-noprint{ display:none !important }
  .pk{ gap:8px }
  .pk-s{ gap:8px }
  .pk-s2, .pk-s3, .pk-s4, .pk-s5, .pk-s6{ break-before:page }
  .pk-h{ font-size:14px; margin:0 0 2px }
  .pk-head h2{ font-size:19px; margin:2px 0 3px }
  .pk-head p{ font-size:10px; max-width:none }
  .pk-tiles{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:8px }
  .pk-tiles .stat .label{ font-size:9.5px }
  .pk-tiles .stat .value{ font-size:15px }
  .pk-tiles .stat .sub{ font-size:8.5px }
  .pk-two{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px }
  .pk-list{ font-size:10px; gap:3px; max-width:none }
  .pk-list.pk-small{ font-size:9px; gap:2px }
  .pk-p, .pk-dl{ font-size:10px }
  .pk-comment p{ font-size:10.5px }
  .pk-note{ padding:4px 12px 6px; font-size:8.5px }
  .card:not(.flush) .pk-note{ padding:4px 0 0 }
  .pk-why{ font-size:8px; max-width:none }
  .pk-foot{ font-size:8.5px }
  .pk-table tr.pk-over td{ background:#fbe9e7 !important }
  .pk .card{ break-inside:avoid }
}
