/* #app carries the id so these outrank the frame's own id-scoped background (same reason as the desktop sheet). */
#app.concept-std.st-print, #app.concept-std.st-print main { background: var(--st-print-paper); color: var(--st-print-ink); }
.concept-std .st-print-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; background: var(--st-panel); color: var(--st-text); }
#app.concept-std .st-print-paper { background: var(--st-print-paper); color: var(--st-print-ink); padding: 24px; overflow: auto; }
.concept-std .st-print-table { border-collapse: collapse; width: 100%; font-size: 12px; margin: 16px 0; }
.concept-std .st-print-table th, .concept-std .st-print-table td { padding: 4px 6px; text-align: right; white-space: nowrap; border-bottom: 1px solid color-mix(in srgb, var(--st-print-ink) 25%, var(--st-print-paper)); }
.concept-std .st-print-table th:first-child { text-align: left; }
.concept-std .st-print-table thead th { color: var(--st-print-ink); background: color-mix(in srgb, var(--st-print-ink) 15%, var(--st-print-paper)); }
.concept-std .st-print-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--st-print-ink) 7%, var(--st-print-paper)); }
.concept-std .st-print-table--wide { font-size: 9.5px; }
/* A short table never stretches across the page (spec §2.2): alone it takes its natural width, at least half the paper. */
.concept-std .st-print-table--narrow { width: auto; min-width: 48%; }
.concept-std .st-print-two-up .st-print-table--narrow { width: 100%; }
.concept-std .st-print-table caption { text-align: left; font-weight: bold; }
.concept-std .st-print-two-up { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; align-items: start; }
@media (max-width: 1023px) { .concept-std .st-print-two-up { grid-template-columns: minmax(0, 1fr); } }
.concept-std .st-print-legend { font-size: 12px; }
.concept-std .st-print-page-count { display: block; text-align: right; }
@media print {
  @page { size: A4 landscape; margin: 10mm; @bottom-right { content: counter(page) " / " counter(pages); } }
  body:has(#app.concept-std.st-print) { background: none; }
  body:has(#app.concept-std.st-print) > #stars { display: none; }
  .concept-std [data-print="hide"], .concept-std .st-print-bar { display: none !important; }
  #app.concept-std.st-print, .concept-std.st-print .st-desk,
  .concept-std.st-print .st-desk__body, .concept-std.st-print main {
    display: block; min-height: 0; height: auto; overflow: visible;
  }
  #app.concept-std .st-print-paper { padding: 0; overflow: visible; }
  .concept-std .st-print-table { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .concept-std .st-print-table thead { display: table-header-group; }
  .concept-std .st-print-table tr { break-inside: avoid; }
  .concept-std .st-print-two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); break-inside: avoid; }
  .concept-std .st-print-two-up .st-print-table th,
  .concept-std .st-print-two-up .st-print-table td { white-space: normal; }
  .concept-std .st-print-page-count { display: none; }
}

.concept-std .st-print-table tbody tr:hover { background: color-mix(in srgb, var(--st-print-ink) 7%, var(--st-print-paper)); }
.concept-std .st-print-scroll-cue { flex-basis: 100%; font-size: 12px; }

/* Keep the shared heading contract without the working-screen flex layout. */
.concept-std .st-print-head { display: block; }
