@page {
    margin: 14mm 14mm 16mm 14mm;
}

body {
    font-family: "DejaVu Sans", sans-serif;
    color: #202124;
    font-size: 9.5pt;
    line-height: 1.35;
    margin: 0;
    padding: 0;
}

.aeat-qr-block {
    width: 100%;
    margin: 0 0 7mm 0;
    padding: 0 0 5mm 0;
    border-bottom: 1px solid #d7dce1;
    page-break-inside: avoid;
}

.aeat-qr-image {
    display: inline-block;
    vertical-align: top;
}

.aeat-qr-copy {
    display: inline-block;
    vertical-align: top;
    margin-left: 5mm;
    max-width: 105mm;
    padding-top: 1mm;
}

.aeat-qr-label {
    font-size: 8pt;
    margin-bottom: 1.5mm;
}

.aeat-verifactu {
    font-size: 13pt;
    font-weight: bold;
    letter-spacing: .3px;
    margin-bottom: 1.5mm;
}

.aeat-verify-label {
    font-size: 8.5pt;
    line-height: 1.3;
}

.header {
    width: 100%;
    margin-bottom: 7mm;
    border-bottom: 2px solid #2f3a45;
    padding-bottom: 5mm;
}

.company-data {
    width: 55%;
    float: left;
}

.logo {
    max-width: 48mm;
    max-height: 20mm;
    margin-bottom: 2mm;
}

.company-name {
    font-size: 12pt;
    font-weight: bold;
}

.company-details {
    margin-top: 1mm;
}

.invoice-data {
    width: 39%;
    float: right;
    text-align: right;
}

.invoice-data h1 {
    margin: 0 0 2mm 0;
    font-size: 17pt;
    color: #263746;
}

.document-number {
    font-size: 11pt;
    font-weight: bold;
    margin-bottom: 1mm;
}

.clear-both {
    clear: both;
}

.addresses {
    width: 100%;
    margin-bottom: 7mm;
    clear: both;
}

.address-box {
    width: 47%;
    float: left;
    border: 1px solid #e0e3e6;
    padding: 3mm;
    min-height: 25mm;
    box-sizing: border-box;
}

.address-box.right {
    float: right;
}

.address-box h3 {
    margin: 0 0 2mm 0;
    font-size: 9pt;
    color: #263746;
    border-bottom: 1px solid #e6e8ea;
    padding-bottom: 1.5mm;
}

.items-table,
.tax-table,
.totals-table {
    width: 100%;
    border-collapse: collapse;
}

.items-table {
    margin-bottom: 5mm;
}

.items-table th,
.tax-table th {
    background: #eef1f4;
    color: #263746;
    padding: 2.3mm 1.8mm;
    text-align: left;
    font-size: 8pt;
    border-bottom: 1px solid #cfd5da;
}

.items-table td,
.tax-table td {
    padding: 2.2mm 1.8mm;
    border-bottom: 1px solid #e5e8eb;
    vertical-align: top;
}

.num {
    text-align: right !important;
    white-space: nowrap;
}

.center {
    text-align: center !important;
}

.tax-summary {
    width: 55%;
    float: left;
    margin-top: 1mm;
}

.tax-summary h3 {
    font-size: 9pt;
    margin: 0 0 2mm 0;
}

.totals-section {
    width: 38%;
    float: right;
    margin-top: 1mm;
}

.totals-table td {
    padding: 1.5mm 0;
}

.totals-table .label {
    padding-right: 4mm;
}

.totals-table .total-row td {
    font-size: 12pt;
    font-weight: bold;
    border-top: 2px solid #263746;
    padding-top: 2mm;
}

.notes {
    clear: both;
    padding-top: 7mm;
    font-size: 8.5pt;
}

.notes p {
    margin: 1.5mm 0;
}

.footer-note {
    margin-top: 7mm;
    border-top: 1px solid #d7dce1;
    padding-top: 3mm;
    font-size: 7.5pt;
    color: #5f6368;
}
