.bill-page {
  margin: 0;
  padding: 0;
}

.bill-wrapper {
  width: 210mm;
  min-height: 297mm;
  margin: auto;
  background: white;
  border: 2px solid #000;
  padding: 15mm 10mm;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}

.title {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 10px;
}

/* ROW & COLUMN */
.border-row {
  display: flex;
  width: 100%;
  border: 1px solid #000;
}

.border-row.date-number,
.border-row.shipper-consignee {
  margin: 0;
}

.border-row .col {
  flex: 1;
  padding: 4px 8px;
  box-sizing: border-box;
}
.border-row .col_a {
  flex: 1;
  padding: 4px 8px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.border-row .col strong {
  display: block;
}
.border-row .col_a strong {
  display: block;
}

.border-right {
  border-right: 1px solid #000;
}

.shipper-consignee {
  margin-top: 10px;
}

.shipper,
.images-col,
.consignee {
  flex: 1;
  padding: 8px;
}

.images-col {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
}

.images {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}

.consignee-img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border: 1px solid #000;
  display: block;
}

.shipper p,
.consignee p {
  margin: 2px 0;
  font-size: 14px;
}

/* TABLE */
.bill-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.bill-table th,
.bill-table td {
  border: 1px solid #000;
  padding: 6px;
  text-align: center;
  font-size: 13px;
}

.bill-table th {
  font-weight: bold;
  background: #f2f2f2;
}

.bill-table td.desc {
  text-align: left;
  vertical-align: top;
  font-size: 12px;
  line-height: 1.4;
}

.bill-table td img.art-img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  border: 1px solid #000;
}

.bill-table tfoot td.bold {
  font-weight: bold;
  text-align: right;
  padding: 8px;
}

.bill-table tfoot td.total-row {
  background-color: #f8f9fa;
  font-size: 14px;
  font-weight: bold;
  border-top: 2px solid #000;
}

/* DECLARATION */
.declaration {
  margin-top: 15px;
  margin-bottom: 20px;
  font-size: 13px;
}

/* SIGNATURES */
.signature-row {
  display: flex;
  margin-top: 40px;
  align-items: flex-end;
}

.signature-row .col {
  flex: 1;
}

.signature-line {
  width: 200px;
  height: 40px;
  border-bottom: 1px solid #000;
  margin-top: 6px;
}

.date-row {
  margin-bottom: 10px;
}

/* PRINT SETTINGS */
@media print {
  body {
    margin: 0;
    padding: 0;
  }
  .bill-wrapper {
    border: none;
    width: 100%;
    padding: 10mm;
    box-sizing: border-box;
    page-break-after: always;
  }
}