/* Export & Backup (backup.html) — 2026-09-23.
   Uses the shared tokens from styles-prototype.css. Text colors are ink /
   ink-soft / oxblood only (gold is never text). */

.backup-back { margin: 0 0 0.75rem; font-size: 0.95rem; }
.backup-back a { color: var(--ink-soft); }
.backup-changed { color: var(--oxblood); font-weight: 600; }
.backup-options { border: 0; margin: 0.75rem 0; padding: 0; display: grid; gap: 0.5rem; }
.backup-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0.75rem 0 0.5rem; }
.backup-notes { margin: 0.5rem 0 1.5rem; padding-inline-start: 1.25rem; color: var(--ink-soft); line-height: 1.55; }
.backup-notes li + li { margin-top: 0.4rem; }

/* The readable report — the same markup the .zip's report.html carries. */
.backup-preview { margin: 2rem 0; }

/* Left-to-right islands in the report (emails, phone numbers, account
   references): the on-page preview and its print view. The downloaded
   report.html carries the same rule in REPORT_FILE_CSS (backup-report.mjs). */
.trr-ltr { direction: ltr; unicode-bidi: isolate; }
.tr-report { background: #fff; color: var(--ink); border: 1px solid var(--paper-line-soft); border-radius: 10px; padding: clamp(20px, 4vw, 40px); font-family: var(--serif); font-size: 1.05rem; line-height: 1.55; max-width: 46rem; }
.trr-eyebrow { font: 600 0.75rem/1 var(--sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--oxblood); margin: 0 0 0.5rem; }
.trr-h1 { font-size: 1.9rem; margin: 0 0 0.75rem; }
.trr-h2 { font-size: 1.35rem; margin: 2rem 0 0.5rem; border-top: 1px solid var(--paper-line-soft); padding-top: 1rem; }
.trr-h3 { font: 600 0.8rem/1.3 var(--sans); letter-spacing: 0.06em; text-transform: uppercase; margin: 1.25rem 0 0.35rem; color: var(--ink-soft); }
.trr-rel { font-size: 1rem; color: var(--ink-muted); font-weight: normal; }
.trr-k { font-weight: 600; }
.trr-line { margin: 0.2rem 0; overflow-wrap: anywhere; }
.trr-text { white-space: pre-wrap; margin: 0.35rem 0; overflow-wrap: anywhere; }
.trr-inst { margin: 0.5rem 0 0.75rem; }
.trr-list { margin: 0.25rem 0; padding-inline-start: 1.25rem; overflow-wrap: anywhere; }
.trr-warn { border-inline-start: 3px solid var(--oxblood); padding: 0.5rem 0.75rem; background: var(--cream-soft); }
.trr-note { color: var(--ink-muted); font-size: 0.92rem; }
.trr-foot { margin-top: 2.5rem; border-top: 1px solid var(--paper-line-soft); padding-top: 1rem; }

/* The "confirm it is you" dialog (step-up.mjs) is shared; its rules live in
   styles-app.css. */

@media (max-width: 560px) {
  .backup-actions .btn { width: 100%; }
  .tr-report { padding: 18px 16px; font-size: 1rem; }
}

/* Printing: only the report, black on white, 11pt+. */
@media print {
  body.printing-report .app-rail,
  body.printing-report .site-footer,
  body.printing-report .backup-controls,
  body.printing-report .flow-heading,
  body.printing-report .backup-back,
  body.printing-report .skip-link { display: none !important; }
  body.printing-report { background: #fff !important; }
  body.printing-report .app-rail-shell,
  body.printing-report .app-shell,
  body.printing-report .app-container { display: block; margin: 0; padding: 0; max-width: none; min-height: 0 !important; }
  body.printing-report .backup-preview { margin: 0; }
  body.printing-report .tr-report { border: 0; border-radius: 0; padding: 0; max-width: none; font-size: 11pt; color: #000; }
  body.printing-report .trr-person { break-inside: avoid-page; }
  body.printing-report .trr-warn { background: none; }
}
