body { font-family: Arial, sans-serif; font-size: 11pt; color: #333; }
.invoice-container { padding: 10px; }
.invoice-header-table, .payment-totals-table, .items-table { width: 100%; border-collapse: collapse; margin-bottom: 25px; }
.brand-identity { width: 40%; vertical-align: top; }
.logo-text { font-size: 24pt; font-weight: bold; letter-spacing: 2px; line-height: 1.1; color: #111; }
.meta-details { width: 60%; text-align: right; vertical-align: top; }
.meta-details h2 { border: none; padding: 0; margin: 0 0 10px 0; font-size: 22pt; color: #000; }
.doc-title { font-size: 14pt; margin: 20px 0 10px 0; text-transform: uppercase; border-bottom: 1px solid #000; padding-bottom: 5px; }
.items-table th { background-color: #f5f5f5; text-align: left; padding: 8px; font-weight: bold; border-bottom: 2px solid #ddd; }
.items-table td { padding: 10px 8px; border-bottom: 1px solid #eee; }
.text-right { text-align: right; }
.payment-info-cell { width: 55%; vertical-align: top; background-color: #fafafa; padding: 15px; border-radius: 4px; }
.payment-info-cell h4 { margin-top: 0; margin-bottom: 10px; font-size: 11pt; text-transform: uppercase; }
.totals-cell { width: 45%; vertical-align: top; padding-left: 20px; }
.sub-totals { width: 100%; }
.sub-totals td { padding: 6px 0; }
.grand-total td { border-top: 1px solid #000; padding-top: 10px; font-size: 12pt; }
.legal-notice { font-size: 8.5pt; color: #555; margin-top: 50px; line-height: 1.4; border-top: 1px solid #eee; padding-top: 15px; }
.footer-address { font-size: 9pt; text-align: center; color: #444; margin-top: 30px; border-top: 1px solid #ddd; padding-top: