/* The printable rider: always black on white, whatever the app looks like. */
.sk-rider { color: #111; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.sk-page {
  background: #fff; color: #111; width: 210mm; min-height: 297mm; padding: 13mm 13mm 16mm;
  box-sizing: border-box; margin: 0 auto 26px; position: relative; box-shadow: 0 6px 30px rgba(0,0,0,.45);
}
.sk-letter .sk-page { width: 8.5in; min-height: 11in; }
.sk-head { display: flex; align-items: center; gap: 14px; border-bottom: 3px solid #111; padding-bottom: 9px; margin-bottom: 12px; }
.sk-logo { max-height: 54px; max-width: 150px; object-fit: contain; }
.sk-head-txt { flex: 1; min-width: 0; }
.sk-head h1 { margin: 0; font-size: 25px; line-height: 1.1; letter-spacing: -.01em; color: #111; font-family: inherit; text-transform: none; }
.sk-sub { font-size: 11.5px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; margin-top: 4px; }
.sk-contact { font-size: 11px; color: #333; margin-top: 3px; }
.sk-rev { font-size: 10px; color: #666; align-self: flex-start; white-space: nowrap; }
.sk-lead { font-size: 12px; color: #444; margin: 0 0 10px; }
.sk-plotwrap { border: 1px solid #ddd; }
.sk-plotwrap svg { display: block; width: 100%; height: auto; }
.sk-boxkey { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 11px; }
.sk-boxkey span { display: inline-flex; align-items: center; gap: 6px; }
.sk-boxkey i { font-style: normal; font-weight: 800; min-width: 26px; padding: 2px 6px; text-align: center; border: 1px solid #111; border-radius: 3px; font-size: 11px; }
.sk-boxkey em { color: #666; font-style: normal; }
.sk-plotfacts { font-size: 11.5px; margin-top: 10px; color: #222; }
.sk-key { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 11px; margin-top: 6px; color: #555; }
.sk-page h2 { font-size: 14px; margin: 14px 0 6px; text-transform: uppercase; letter-spacing: .08em; color: #111; font-family: inherit; }
.sk-page h2 span { font-weight: 400; color: #666; font-size: 11.5px; margin-left: 6px; letter-spacing: .02em; }
.sk-page h3 { font-size: 11.5px; margin: 0 0 4px; text-transform: uppercase; letter-spacing: .08em; color: #111; }
.sk-page h3 span { color: #777; font-weight: 400; }
.sk-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.sk-table th { background: #111; color: #fff; text-align: left; padding: 5px 6px; font-size: 9.5px; text-transform: uppercase; letter-spacing: .07em; }
.sk-table td { border-bottom: 1px solid #ddd; padding: 4.5px 6px; vertical-align: top; }
.sk-table tr:nth-child(even) td:not(.pt) { background: #f4f4f4; }
.sk-table .c { text-align: center; width: 32px; }
.sk-table .ch { font-weight: 800; }
.sk-table .pt { text-align: center; width: 40px; font-weight: 800; font-family: "SFMono-Regular", Menlo, Consolas, monospace; font-size: 11px; border-bottom: 1px solid #fff; }
.sk-boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.sk-box { border: 1.5px solid #111; border-radius: 4px; overflow: hidden; break-inside: avoid; }
.sk-box-h { display: flex; align-items: baseline; gap: 8px; padding: 6px 9px; border-bottom: 1.5px solid #111; }
.sk-box-h b { font-size: 18px; }
.sk-box-h span { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.sk-box-h em { margin-left: auto; font-style: normal; font-size: 10px; opacity: .85; }
.sk-box-cols { display: grid; grid-template-columns: 1fr; }
.sk-box-cols table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.sk-box-cols table + table { border-top: 1.5px solid #111; }
.sk-box-cols th { text-align: left; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; color: #666; padding: 3px 6px; border-bottom: 1px solid #ccc; }
.sk-box-cols td { padding: 2.5px 6px; border-bottom: 1px solid #eee; }
.sk-box-cols .c { text-align: center; width: 42px; white-space: nowrap; }
.sk-box-cols .sock { font-family: "SFMono-Regular", Menlo, monospace; color: #444; }
.sk-box-cols .free { color: #bbb; }
.sk-box-cols tr.clash td { background: #ffe1e1; }
.sk-box-cols .warn { color: #c00; }
.sk-kv { border-collapse: collapse; font-size: 11.5px; width: 100%; }
.sk-kv th { text-align: left; width: 150px; padding: 4px 0; color: #555; font-weight: 600; vertical-align: top; }
.sk-kv td { padding: 4px 0; font-weight: 700; }
.sk-kv .sup { font-weight: 400; color: #666; margin-left: 6px; }
.sk-gear { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 18px; align-items: start; }
.sk-qty { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.sk-qty td { padding: 2px 4px; border-bottom: 1px solid #eee; }
.sk-qty .qty { width: 26px; font-weight: 800; text-align: right; padding-right: 8px; }
.sk-note { break-inside: avoid; }
.sk-note p { margin: 0; font-size: 12px; line-height: 1.5; }
.sk-credit { position: absolute; left: 0; right: 0; bottom: 6mm; text-align: center; font-size: 9px; color: #aaa; letter-spacing: .03em; }

@media print {
  html, body { background: #fff !important; }
  .sk-page { box-shadow: none; margin: 0; page-break-after: always; break-after: page; }
  .sk-page:last-child { page-break-after: auto; break-after: auto; }
  .sk-table tr { break-inside: avoid; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
@media screen and (max-width: 860px) {
  .sk-page, .sk-letter .sk-page { width: 100%; min-height: 0; padding: 16px 14px 34px; }
  .sk-boxes, .sk-gear { grid-template-columns: 1fr; }
  .sk-table { font-size: 10px; }
}
