/* Screen styles: report (דוח מסירה) — Direction A: an official document clipped to the board.
   Tokens from css/tokens.css only. RTL: logical properties. The print block at the end is black on white A4. */

.rpt-wrap { max-width: 980px; margin: 0 auto; }
.rpt-hint { margin: var(--sp-3) 0 0; text-align: center; }

/* the board the sheet hangs on */
.rpt-board {
  position: relative; padding: 38px 30px 30px; border-radius: 12px;
  background-color: var(--board);
  background-image: radial-gradient(circle at 50% 50%, var(--hole) 0 1.7px, transparent 2.3px);
  background-size: 16px 16px; background-position: 8px 8px;
  box-shadow: 0 0 0 1px var(--board-edge), inset 0 2px 5px rgba(0, 0, 0, .08), inset 0 0 0 5px color-mix(in srgb, var(--board-edge) 40%, transparent);
}
.rpt-clip {
  position: absolute; z-index: 3; top: 12px; left: 50%; width: 96px; height: 34px; transform: translateX(-50%); border-radius: 7px 7px 5px 5px;
  background: linear-gradient(180deg, #E4E8E3, #9AA39C 55%, #7C857E);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 3px 6px rgba(0, 0, 0, .4);
}
.rpt-clip::after { content: ""; position: absolute; top: 9px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #4D544F, #20251F); box-shadow: 0 1px 0 rgba(255, 255, 255, .5); }

/* the sheet */
.rpt {
  --rp: 30px;
  position: relative; display: flex; flex-direction: column; gap: 26px; padding: 0 0 var(--rp);
  background: var(--plate); border-radius: 3px; box-shadow: 0 1px 1px rgba(0, 0, 0, .2), 0 14px 26px -8px rgba(15, 20, 16, .4), 0 0 0 1px var(--line);
}
.rpt > :not(.rpt-head) { margin-inline: var(--rp); }
.rpt-head { display: flex; flex-direction: column; gap: 16px; padding-bottom: 18px; border-bottom: 2px solid var(--ink); margin-inline: 0; }
.rpt-head > :not(.rpt-band) { margin-inline: var(--rp); }

.rpt-band {
  position: relative; display: flex; align-items: center; gap: 10px; padding: 18px var(--rp) 14px; border-radius: 3px 3px 0 0;
  background: var(--head); color: var(--head-ink);
}
.rpt-band::after { content: ""; position: absolute; inset: auto 0 0 0; height: 5px; background: repeating-linear-gradient(-45deg, var(--amber) 0 8px, #1a1a1a 8px 16px); }
.rpt-band__mark { width: 28px; height: 28px; flex: none; }
.rpt-app { font: 700 28px/1 var(--font-display); letter-spacing: .02em; padding-top: 3px; }
.rpt-round { margin-inline-start: auto; font-size: 14px; font-weight: 600; color: var(--head-ink-2); text-align: end; }
.rpt-head__top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: 6px; }
.rpt-title { font: 700 60px/.9 var(--font-display); letter-spacing: .01em; padding-top: 6px; }
.rpt-stamp { flex: none; padding: 4px 10px; }
.rpt-stamp .stamp { font-size: 44px; padding: 6px 14px 3px; }

.rpt-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.rpt-meta__i { padding: 8px 12px 9px; border-radius: 6px; background: var(--plate-2); box-shadow: 0 0 0 1px var(--line-2) inset; min-width: 0; }
.rpt-meta__i dt { font-size: 11px; letter-spacing: .05em; color: var(--ink-3); font-weight: var(--fw-semibold); }
.rpt-meta__i dd { margin: 3px 0 0; font-weight: var(--fw-medium); font-size: 14px; overflow-wrap: anywhere; }
.rpt-integrity { border-radius: 8px; padding: var(--sp-3) var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-2); box-shadow: 0 0 0 1px var(--line-2) inset; }
.rpt-integrity.is-ok { background: var(--ok-bg); box-shadow: 0 0 0 1px color-mix(in srgb, var(--ok-c) 28%, transparent) inset; }
.rpt-integrity.is-bad { background: var(--signal-bg); box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--signal) 45%, transparent) inset; }
.rpt-integrity__line { display: flex; align-items: baseline; gap: 4px var(--sp-3); flex-wrap: wrap; }
.rpt-integrity__k { color: var(--ink-2); font-weight: var(--fw-medium); }
.rpt-integrity__eq { font: 700 34px/1 var(--font-display); letter-spacing: .01em; }
.rpt-integrity.is-ok .rpt-integrity__eq { color: var(--ok-c); }
.rpt-integrity.is-bad .rpt-integrity__eq { color: var(--signal-ink); }
.rpt-violations { list-style: none; margin: 0; padding: 0; color: var(--signal-ink); display: flex; flex-direction: column; gap: 4px; font-weight: var(--fw-medium); }
.rpt-violations li { display: flex; gap: var(--sp-2); align-items: flex-start; }
.rpt-violations li.is-warn { color: var(--amber-text); }
.rpt-violations svg.icon { margin-top: 3px; flex: none; }

/* ---------------------------------------------------------------- sections */
.rpt-sec { display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
.rpt-h { display: flex; align-items: center; gap: 10px; font: 700 27px/1 var(--font-display); letter-spacing: .01em; padding-bottom: 7px; border-bottom: 2px solid var(--ink); }
.rpt-h__n { display: inline-flex; width: 28px; height: 28px; border-radius: 5px; background: var(--head); color: var(--amber); align-items: center; justify-content: center; font: 600 14px/1 var(--font-mono); flex: none; }
.rpt-sub-h { margin: var(--sp-2) 0 0; font-size: var(--fs-body); font-weight: var(--fw-semibold); display: flex; align-items: center; gap: var(--sp-2); }
.rpt-note { margin: 0; }
.rpt-warn, .rpt-none { display: flex; align-items: flex-start; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-ctl); font-size: var(--fs-small); }
.rpt-warn { background: var(--signal-bg); color: var(--signal-ink); font-weight: var(--fw-semibold); box-shadow: 0 0 0 1px color-mix(in srgb, var(--signal) 30%, transparent) inset; }
.rpt-warn svg.icon { margin-top: 3px; flex: none; }
.rpt-none { color: var(--ink-2); background: var(--plate-2); align-items: center; box-shadow: 0 0 0 1px var(--line) inset; }

/* summary table */
.rpt-sum { width: 100%; border-collapse: collapse; max-width: 540px; }
.rpt-sum th, .rpt-sum td { padding: 7px var(--sp-3); border-bottom: 1px solid var(--line-2); text-align: start; }
.rpt-sum thead th { font-size: 11.5px; letter-spacing: .04em; color: var(--ink-3); font-weight: var(--fw-semibold); background: var(--plate-2); border-bottom: 2px solid var(--line-2); }
.rpt-sum tbody th { font-weight: var(--fw-regular); }
.rpt-sum td { width: 18%; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.rpt-sum__t { font-weight: var(--fw-bold); }
.rpt-sum tfoot th, .rpt-sum tfoot td { font-weight: var(--fw-bold); border-top: 2px solid var(--ink); border-bottom: 0; background: var(--plate-2); }

/* detail table */
.rpt-table { width: 100%; border-collapse: collapse; }
.rpt-table thead th { text-align: start; font-size: 11.5px; letter-spacing: .04em; color: var(--ink-3); font-weight: var(--fw-semibold); padding: 7px var(--sp-3); border-bottom: 2px solid var(--ink); }
.rpt-row td { padding: 7px var(--sp-3); border-bottom: 1px solid var(--line); vertical-align: middle; }
.rpt .rpt-row.is-warn { background: color-mix(in srgb, var(--amber) 9%, var(--plate)); }
.rpt-row .c-num { font-weight: var(--fw-medium); white-space: nowrap; }
.rpt-row .c-note { font-size: var(--fs-small); color: var(--ink-2); }
.rpt-row .c-upd { font-size: var(--fs-small); color: var(--ink-2); white-space: nowrap; }
.rpt-row--empty td { text-align: center; font-size: var(--fs-small); }
.rpt-grp__head th {
  text-align: start; padding: 10px var(--sp-3) 7px; background: var(--plate-3); border-top: 1px solid var(--line-2);
  border-inline-start: 4px solid var(--ink);
}
.rpt-grp__name { font: 700 21px/1 var(--font-display); letter-spacing: .02em; }
.rpt-grp__hint { color: var(--ink-3); font-size: var(--fs-caption); font-weight: var(--fw-regular); margin-inline-end: var(--sp-2); }
.rpt-grp__head .badge { min-width: 22px; height: 22px; font-size: var(--fs-caption); margin-inline-start: 6px; }
.rpt-sub td { padding: 7px var(--sp-3); font-size: var(--fs-small); background: var(--plate-2); border-bottom: 2px solid var(--line-2); }
.rpt-sub--grand td { font-size: var(--fs-body); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: var(--plate-3); }
.rpt .split .d, .rpt .split .p { font-weight: var(--fw-semibold); }

/* open items */
.rpt-list { list-style: none; margin: 0; padding: 0; }
.rpt-item { padding: var(--sp-3) 0; border-top: 1px dashed var(--line-2); display: flex; flex-direction: column; gap: 6px; }
.rpt-item:first-child { border-top: 0; }
.rpt-item__head { display: flex; align-items: center; gap: var(--sp-2) var(--sp-3); flex-wrap: wrap; }

/* activity */
.rpt-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.rpt-stat { border-radius: var(--radius-card); padding: var(--sp-3) var(--sp-4); background: var(--plate-2); box-shadow: 0 0 0 1px var(--line) inset, inset 0 3px 0 var(--ink-3); }
.rpt-stat__n { font: 700 52px/.9 var(--font-display); padding-top: 4px; }
.rpt-stat__l { font-size: var(--fs-small); font-weight: var(--fw-medium); color: var(--ink-2); margin-top: 4px; }

/* sign-off */
.rpt-sign__txt { margin: 0; color: var(--ink-2); }
.rpt-signs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); }
.rpt-sig { border: 1.5px solid var(--line-2); border-radius: 4px; padding: var(--sp-4); display: flex; flex-direction: column; gap: var(--sp-4); background: var(--plate-2); }
.rpt-sig h4 { margin: 0; font: 700 25px/1 var(--font-display); letter-spacing: .02em; }
.rpt-sig__f { display: flex; align-items: flex-end; gap: var(--sp-2); min-height: 32px; }
.rpt-sig__f--tall { min-height: 58px; }
.rpt-sig__k { color: var(--ink-2); font-size: var(--fs-small); white-space: nowrap; }
.rpt-sig__line { flex: 1 1 auto; border-bottom: 1.5px solid var(--ink); height: 1px; min-width: 40px; }

/* ---------------------------------------------------------------- tablet / phone (screen only; print has its own layout) */
@media screen and (max-width: 899px) {
  .rpt-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 640px) {
  .rpt-board { padding: 30px 8px 10px; border-radius: 10px; background-size: 12px 12px; }
  .rpt { --rp: 14px; gap: 20px; }
  .rpt-band { padding-top: 16px; }
  .rpt-app { font-size: 24px; }
  .rpt-title { font-size: 46px; }
  .rpt-stamp .stamp { font-size: 30px; padding: 4px 9px 2px; }
  .rpt-meta { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .rpt-meta__i { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 7px 11px; }
  .rpt-meta__i dd { margin: 0; text-align: end; }
  .rpt-stats { grid-template-columns: minmax(0, 1fr); }
  .rpt-signs { grid-template-columns: minmax(0, 1fr); }
  .rpt-integrity__eq { font-size: 27px; }
  .rpt-sum { max-width: none; }
  .rpt-h { font-size: 24px; }

  /* detail table -> stacked rows */
  .rpt-table, .rpt-table tbody, .rpt-table tr, .rpt-table th, .rpt-table td { display: block; width: 100%; }
  .rpt-table thead { display: none; }
  .rpt-table .rpt-row { display: grid; grid-template-columns: 1fr auto; gap: 4px var(--sp-2); padding: var(--sp-3) var(--sp-3); border-bottom: 1px solid var(--line); }
  .rpt-row td { padding: 0; border: 0; }
  .rpt-row .c-num { grid-column: 1; grid-row: 1; font-size: 16px; }
  .rpt-row .c-type { grid-column: 2; grid-row: 1; justify-self: end; }
  .rpt-row .c-state { grid-column: 1; grid-row: 2; }
  .rpt-row .c-upd { grid-column: 2; grid-row: 2; justify-self: end; font-size: var(--fs-caption); }
  .rpt-row .c-note { grid-column: 1 / -1; grid-row: 3; }
  .rpt-row .c-note:empty { display: none; }
  .rpt-table .rpt-row--empty { display: block; padding: var(--sp-3); }
  .rpt-sub td { display: block; }
}

/* ---------------------------------------------------------------- PRINT: A4 portrait, black on white, no app chrome */
@media print {
  @page { size: A4 portrait; margin: 12mm; }

  /* hide the shell (class names from app.css) */
  .sidebar, .topbar, .nav, .tabbar, .syncline, .toast, .toasts, .rpt-noprint, .rpt-clip { display: none !important; }
  .shell { display: block !important; min-height: 0 !important; }
  .main { display: block !important; }
  .shell .view { padding: 0 !important; max-width: none !important; margin: 0 !important; width: auto !important; }
  html, body { background: #fff !important; color: #000 !important; overflow: visible !important; }
  body { font-size: 10pt; line-height: 1.35; }

  .rpt-wrap { max-width: none; }
  .rpt-board { padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
  .rpt { --rp: 0px; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 2pt !important; background: #fff !important; gap: 14pt; }
  .rpt, .rpt * { color: #000 !important; text-shadow: none !important; box-shadow: none !important; }
  .rpt .muted, .rpt .caption.muted, .rpt .rpt-grp__hint, .rpt .rpt-sig__k, .rpt .rpt-meta__i dt { color: #333 !important; }
  .rpt a { text-decoration: none; }

  /* keep structure with borders instead of tints */
  .rpt-head { border-bottom: 2pt solid #000; gap: 8pt; padding-bottom: 8pt; }
  .rpt-band { background: #fff !important; padding: 0 0 6pt; border-radius: 0; border-bottom: 0.75pt solid #000; }
  .rpt-band::after { display: none; }
  .rpt-band__mark { display: none; }
  .rpt-app { font-size: 14pt; }
  .rpt-round { font-size: 11pt; }
  .rpt-head__top { margin-top: 2pt; }
  .rpt-title { font-size: 26pt; }
  .rpt-stamp { padding: 0; }
  .rpt-stamp .stamp { font-size: 22pt; padding: 2pt 8pt 0; border: 2pt solid #000 !important; -webkit-mask: none; mask: none; }
  .rpt-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6pt 10pt; }
  .rpt-meta__i { background: #fff !important; border: 0.5pt solid #777; border-radius: 0; padding: 3pt 5pt; }
  .rpt-meta__i dd { font-size: 9.5pt; }
  .rpt-integrity, .rpt-integrity.is-ok, .rpt-integrity.is-bad { background: #fff !important; border: 1pt solid #000; padding: 6pt 8pt; border-radius: 0; }
  .rpt-integrity.is-bad { border-width: 2pt; }
  .rpt-integrity__eq { font-size: 17pt; }
  .rpt-violations { font-weight: var(--fw-bold); }
  .rpt-h { font-size: 15pt; border-bottom: 1pt solid #000; break-after: avoid; }
  .rpt-h__n { background: #fff !important; border: 1pt solid #000; border-radius: 0; width: 18pt; height: 18pt; font-size: 9pt; }
  .rpt-sub-h { break-after: avoid; }
  .rpt-warn, .rpt-none { background: #fff !important; border: 1pt solid #000; }
  .rpt-warn { font-weight: var(--fw-bold); }

  /* pills / chips / badges: outlined text, not coloured fills */
  .rpt .pill, .rpt .chip, .rpt .badge { background: #fff !important; border: 1pt solid #000 !important; padding: 0 5pt; min-height: 0; height: auto; font-size: 8.5pt; }
  .rpt .chip .mono { font-weight: var(--fw-semibold); }
  .rpt .pill--warn-strong { border-width: 1.5pt !important; font-weight: var(--fw-bold); }

  /* tables: readable, rows never split, header repeats on each page */
  .rpt-sum, .rpt-table { font-size: 9.5pt; }
  .rpt-sum { max-width: 60%; }
  .rpt-sum th, .rpt-sum td, .rpt-row td { border-bottom: 0.5pt solid #777; padding: 3pt 6pt; background: #fff !important; }
  .rpt-sum thead th, .rpt-table thead th { border-bottom: 1.5pt solid #000; color: #000 !important; font-size: 8.5pt; padding: 3pt 6pt; background: #fff !important; }
  .rpt-sum tfoot th, .rpt-sum tfoot td { border-top: 1.5pt solid #000; background: #fff !important; }
  .rpt-table thead { display: table-header-group; }
  .rpt-table tr, .rpt-sum tr, .rpt-item, .rpt-stat, .rpt-sig { break-inside: avoid; page-break-inside: avoid; }
  .rpt-grp__head { break-after: avoid; page-break-after: avoid; }
  .rpt-grp__name { font-size: 13pt; }
  .rpt-grp__head th { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-top: 1pt solid #000; border-bottom: 0.5pt solid #000; border-inline-start: 3pt solid #000; padding: 4pt 6pt; }
  .rpt .rpt-row.is-warn { background: #fff !important; }
  .rpt-sub td { background: #fff !important; border-bottom: 1pt solid #000; font-size: 9pt; padding: 3pt 6pt; }
  .rpt-sub--grand td { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-top: 1.5pt solid #000; border-bottom: 1.5pt solid #000; font-size: 10.5pt; }
  .rpt-row .c-note, .rpt-row .c-upd { font-size: 8.5pt; }

  .rpt-item { border-top: 0.5pt dashed #777; padding: 5pt 0; }
  .rpt-stats { gap: 8pt; }
  .rpt-stat { background: #fff !important; border: 1pt solid #000; border-radius: 0; padding: 6pt 8pt; }
  .rpt-stat__n { font-size: 24pt; }

  .rpt-sec--last, .rpt-sec:last-child { break-inside: avoid; page-break-inside: avoid; }
  .rpt-signs { gap: 20pt; }
  .rpt-sig { background: #fff !important; border: 1pt solid #000; border-radius: 0; padding: 10pt; gap: 12pt; }
  .rpt-sig h4 { font-size: 15pt; }
  .rpt-sig__f { min-height: 26pt; }
  .rpt-sig__f--tall { min-height: 48pt; }
  .rpt-sig__line { border-bottom: 1pt solid #000; }
}
