/* Classic — Clean centered layout matching Receipt design */
.doc-brand { text-align: center; padding: 32px 40px 16px; border-bottom: 2px solid var(--theme-accent, #e5f0fa); }
.doc-brand img { max-height: 64px; margin-bottom: 8px; }
.doc-brand h1 { font-size: 22px; margin: 0; font-weight: 800; }
.doc-brand p { margin: 4px 0; font-size: 13px; color: #666; }
.doc-type { text-align: center; font-size: 36px; font-weight: 900; letter-spacing: 4px; color: var(--theme-primary, #0070ba); margin: 28px 0 24px; text-transform: uppercase; }
.doc-client { margin-bottom: 24px; }
.doc-client h3 { font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--theme-primary, #0070ba); margin: 0 0 4px; }
.doc-client p { margin: 2px 0; font-size: 14px; color: #333; }
.doc-info { margin-bottom: 24px; padding: 12px 16px; background: #f9fafb; border-radius: 8px; font-size: 13px; color: #555; }
.doc-info p { margin: 2px 0; }
.doc-body { padding: 0 40px 32px; }
.doc-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.doc-table th { padding: 10px 14px; text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 2px solid var(--theme-primary, #0070ba); background: var(--theme-accent, #e5f0fa); color: var(--theme-primary, #0070ba); }
.doc-table th:last-child { text-align: right; }
.doc-table th:nth-child(2) { text-align: center; }
.doc-table th:nth-child(3) { text-align: right; }
.doc-table td { padding: 10px 14px; border-bottom: 1px solid #e1e4e8; font-size: 13px; }
.doc-table td:last-child { text-align: right; }
.doc-table td:nth-child(2) { text-align: center; }
.doc-table td:nth-child(3) { text-align: right; }
.doc-totals { text-align: right; margin-top: 16px; }
.doc-totals .total-row { display: flex; justify-content: flex-end; gap: 40px; padding: 4px 0; font-size: 13px; }
.doc-totals .total-final { font-size: 18px; font-weight: 700; color: var(--theme-primary, #0070ba); border-top: 2px solid var(--theme-primary, #0070ba); padding-top: 8px; margin-top: 4px; }
.doc-totals .total-due { font-weight: 700; color: var(--theme-primary, #0070ba); }
.doc-notes, .doc-terms { margin-top: 16px; padding: 12px 16px; background: #f9fafb; border-radius: 8px; font-size: 13px; }
.doc-notes h4, .doc-terms h4 { margin: 0 0 4px; font-size: 14px; color: var(--theme-primary, #0070ba); }
.doc-banking { margin-top: 16px; font-size: 13px; }
.doc-banking h4 { font-size: 14px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--theme-primary, #0070ba); margin: 0 0 8px; }
.doc-banking table { width: 100%; border-collapse: collapse; }
.doc-banking td { padding: 4px 8px; }
.doc-footer { text-align: center; padding: 20px 40px; border-top: 1px solid #e1e4e8; font-size: 12px; color: #999; }
