/* The purchase order: used on the review screen and in the PDF. */

.po { color: #000; font-family: 'DM Sans', Arial, sans-serif; font-size: 11pt; line-height: 1.35; }

.po-head { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 10pt; border-bottom: 3pt solid #000; }
.po-brand { font-size: 11pt; font-weight: 700; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.po-title { margin: 0; font-size: 26pt; font-weight: 700; line-height: 1; text-transform: uppercase; }

.po-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18pt; padding: 14pt 0; border-bottom: 1pt solid #000; }
.po-label, .po-facts dt, .po-lines th { color: #555; font-size: 8pt; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.po-store strong { display: block; margin-top: 3pt; font-size: 22pt; line-height: 1.1; }
.po-town { display: block; margin-top: 2pt; font-size: 12pt; }
.po-facts { display: grid; grid-template-columns: auto auto; gap: 10pt 24pt; margin: 0; }
.po-facts dd { margin: 2pt 0 0; font-size: 12pt; font-weight: 700; white-space: nowrap; }

.po-lines { width: 100%; margin-top: 14pt; border-collapse: collapse; }
.po-lines th { padding: 0 5pt 5pt; border-bottom: 1.5pt solid #000; text-align: left; }
.po-lines td { padding: 7pt 5pt; border-bottom: .75pt solid #bbb; vertical-align: top; }
.po-lines th:first-child, .po-lines td:first-child { padding-left: 0; }
.po-lines th:last-child, .po-lines td:last-child { padding-right: 0; }
.po-lines tr { break-inside: avoid; }
.po-lines .num { text-align: right; white-space: nowrap; }
.po-lines .code, .po-lines .strong { font-weight: 700; white-space: nowrap; }

.po-foot { display: flex; justify-content: flex-end; margin-top: 16pt; break-inside: avoid; }
.po-totals { width: 50%; margin: 0; }
.po-totals div { display: flex; justify-content: space-between; padding: 3pt 0; }
.po-totals dt { color: #555; }
.po-totals dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
.po-totals .grand { align-items: baseline; margin-top: 6pt; padding-top: 8pt; border-top: 2pt solid #000; }
.po-totals .grand dt { color: #000; font-size: 10pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.po-totals .grand dd { font-size: 18pt; font-weight: 700; }

.po-extra { display: grid; grid-template-columns: 1fr 1fr; gap: 24pt; margin-top: 18pt; break-inside: avoid; }
.po-extra p { margin: 4pt 0 0; white-space: pre-line; }
.po-extra ul { margin: 4pt 0 0; padding-left: 12pt; }

.po-end { margin-top: 24pt; padding-top: 6pt; border-top: .75pt solid #bbb; color: #555; font-size: 8pt; }
