/* Månedsrapport (#/rapport). Screen layout plus an A4 print layout:
   page 1 = head, key figures and result; page 2 = largest changes;
   page 3 = closing, bank and decisions. */
.rp{ display:flex; flex-direction:column; gap:16px }
.rp-toolbar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap }
.rp-pick{ display:flex; gap:8px; align-items:center; font-size:13px; color:var(--ink-2) }
.rp-toolbar .btn.primary{ display:inline-flex; gap:7px; align-items:center }
.rp-head{ padding:2px 2px 0 }
.rp-head .rp-kicker{ font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3) }
.rp-head h2{ font-size:24px; letter-spacing:-.02em; margin:4px 0 6px }
.rp-head p{ margin:0; color:var(--ink-2); font-size:13px; max-width:880px }
.rp-tiles .stat .value{ font-size:22px }
.rp-sec{ min-width:0 }
.rp-gap{ margin-top:6px; border-top:1px solid var(--hair) }
.rp-pad{ padding:4px 20px 12px; display:flex; flex-direction:column; gap:8px }
.rp-notes{ padding:10px 20px 16px; color:var(--ink-2); font-size:12.5px }
.rp-notes p{ margin:0 0 4px; max-width:900px }
.rp-table td b{ font-weight:650 }
.rp-table tr.total td:first-child{ font-weight:650 }
.rp-foot{ margin:0 }

/* largest changes: one block per account, the postings under it */
.rp-chg{ font-size:13px }
.rp-chg-row{ display:grid; grid-template-columns:minmax(0,1fr) 110px 130px 120px; gap:12px; align-items:baseline;
  padding:9px 20px; font-variant-numeric:tabular-nums }
.rp-chg-row > span:not(:first-child){ text-align:right; white-space:nowrap }
.rp-chg-headrow{ color:var(--ink-2); font-size:12px; font-weight:600; border-bottom:1px solid var(--hair); padding-top:12px }
.rp-chg-item{ border-bottom:1px solid var(--hair); break-inside:avoid }
.rp-chg-item:last-child{ border-bottom:0 }
.rp-chg-lbl{ display:flex; gap:8px; align-items:baseline; min-width:0 }
.rp-chg-lbl > b{ color:var(--ink-3); font-weight:600; min-width:22px }
.rp-chg-lbl .swatch{ flex:none; transform:translateY(1px) }
.rp-chg-lbl .rp-acc{ font-weight:600 }
.rp-chg-lbl small{ display:block; color:var(--ink-3); font-size:11.5px }
.rp-posts{ padding:0 20px 10px 62px; display:flex; flex-direction:column; gap:2px }
.rp-post{ display:grid; grid-template-columns:62px minmax(0,1fr) 110px 92px; gap:10px; align-items:baseline;
  font-size:12px; color:var(--ink-2); font-variant-numeric:tabular-nums }
.rp-post-d{ white-space:nowrap; color:var(--ink-3) }
.rp-post-t{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.rp-post-a{ text-align:right; white-space:nowrap; color:var(--ink) }
.rp-post-a.neg{ color:var(--neg) }
.rp-post-k{ text-align:left; white-space:nowrap }
.rp-post-rest .rp-post-t{ font-style:italic; white-space:normal }
.rp-post .btn.small{ padding:1px 7px }

/* decisions */
.rp-text{ width:100%; min-height:150px; resize:vertical; line-height:1.5; font-size:13.5px; padding:10px 12px }
.rp-save{ margin-top:10px; gap:10px; align-items:center }
.rp-meta{ font-size:12px }
.rp-notetext{ white-space:pre-wrap; line-height:1.55; font-size:13.5px }
.rp-printonly{ display:none }
.rp-lines{ display:none }
.rp-empty{ margin:0 }

@media (max-width: 760px){
  .rp-head h2{ font-size:21px }
  .rp-chg-headrow{ display:none }
  .rp-chg-row{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 10px; padding:10px 16px }
  .rp-chg-row .rp-chg-lbl{ grid-column:1 / -1 }
  .rp-chg-row > span:not(:first-child){ text-align:left }
  .rp-chg-row > span[data-l]::before{ content:attr(data-l); display:block; font-size:11px; color:var(--ink-3) }
  .rp-posts{ padding:0 16px 10px 16px }
  .rp-post{ grid-template-columns:48px minmax(0,1fr) auto; gap:8px }
  .rp-post-k{ display:none }
  .rp-pad{ padding:4px 16px 12px }
  .rp-notes{ padding:10px 16px 14px }
  .rp-toolbar .spacer{ display:none }
}

@media print{
  @page{ size:A4; margin:12mm 11mm 13mm }
  /* always print light, whatever the screen theme */
  html:root{
    color-scheme:light;
    --canvas:#FFFFFF; --surface:#FFFFFF; --raised:#FFFFFF; --sunk:#F1F2F8; --sunk-2:#E7E9F2;
    --ink:#14151C; --ink-2:#4A4C60; --ink-3:#6E7089; --ink-4:#B9BACB;
    --hair:rgba(29,27,63,.14); --hair-2:rgba(29,27,63,.22);
    --neg:#B3261E; --pos:#177245; --warn:#8A4E00; --accent:#5B4BE8;
    --wash:rgba(91,75,232,.06); --wash-2:rgba(91,75,232,.14);
    --neg-wash:rgba(208,59,59,.06); --neg-2:rgba(208,59,59,.25);
    --warn-wash:rgba(250,178,25,.12);
    --c1:#2a78d6; --c2:#eb6834; --c3:#1baf7a; --c4:#eda100;
  }
  html, body{ background:#fff !important; font-size:10.5px }
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact }
  .side, .mobilebar, .scrim, .filters, .pagehead, .rp-noprint, .drawer, .drawer-scrim, .fresh, .stalebar{ display:none !important }
  .shell{ display:block !important }
  .main{ padding:0 !important; max-width:none !important; margin:0 !important }
  .rp{ gap:8px }
  .card{ box-shadow:none !important; border:1px solid var(--hair) !important; border-radius:6px; padding:10px 12px; break-inside:avoid }
  .card.flush{ padding:0 }
  .card > header{ margin-bottom:6px }
  .card > header h2{ font-size:12.5px }
  .card > header p{ font-size:10px; max-width:none }
  .card.flush > header{ padding:10px 12px 0 }
  .rp-head h2{ font-size:19px; margin:2px 0 3px }
  .rp-head p{ font-size:10px; max-width:none }
  .rp-tiles{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:8px }
  .rp-tiles .stat .label{ font-size:9.5px }
  .rp-tiles .stat .value{ font-size:16px }
  .rp-tiles .stat .sub{ font-size:9px }
  .tablewrap{ overflow:visible !important; max-height:none !important }
  table.t{ font-size:9.5px }
  table.t th, table.t td{ padding:3.5px 7px }
  table.t th:first-child, table.t td:first-child{ position:static }
  .rp-notes{ padding:6px 12px 8px; font-size:9px }
  .rp-pad{ padding:2px 12px 6px; gap:5px }
  .alert{ padding:6px 9px; border-radius:6px; grid-template-columns:16px minmax(0,1fr); gap:7px }
  .alert p{ font-size:9.5px }
  .rp-s2, .rp-s3{ break-before:page }
  .rp-s3, .rp-s4, .rp-s5{ break-inside:avoid }
  .rp-chg{ font-size:10px }
  /* the A4 print width can fall under the phone breakpoint: keep the desktop grid */
  .rp-chg-headrow{ display:grid !important }
  .rp-chg-row .rp-chg-lbl{ grid-column:auto }
  .rp-chg-row > span:not(:first-child){ text-align:right }
  .rp-chg-row > span[data-l]::before{ content:none }
  .rp-post-k{ display:block }
  .rp-chg-row{ padding:5px 12px; grid-template-columns:minmax(0,1fr) 80px 95px 85px }
  .rp-posts{ padding:0 12px 5px 46px }
  .rp-post{ font-size:9px; grid-template-columns:48px minmax(0,1fr) 72px 62px; gap:8px }
  .rp-post .pill{ font-size:8px; padding:0 5px }
  .rp-printonly{ display:block }
  .rp-notetext{ font-size:10.5px }
  .rp-lines{ display:block; height:120px; margin-top:6px;
    background:repeating-linear-gradient(to bottom, transparent 0 23px, var(--hair-2) 23px 24px) }
  .rp-foot{ font-size:9px; color:var(--ink-3) }
}
