@page { size: A4; margin: 12mm 10mm; }
* { box-sizing: border-box; }

body {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 10pt;
  line-height: 1.35;
  color: #1a1a1a;
  margin: 0; padding: 0; background: #fff;
}

.arrow {
  text-decoration: none;
  color: #2c3e50;
  font-size: 10pt;
}

.arrow:hover {
  color: #1a2733;
}

.container { max-width: 190mm; margin: 0 auto; padding: 8mm 6mm; }

header { padding-bottom: 8px; margin-bottom: 14px; border-bottom: 1px solid #cfd6dd; }

.header-top {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px; margin-bottom: 10px;
}

.logo img { max-height: 70px; max-width: 200px; display: block; }

.contact-block {
  text-align: right; font-size: 9pt; color: #444;
  line-height: 1.5; white-space: nowrap;
}
.contact-block a { color: #2c3e50; text-decoration: none; }

h1 {
  font-size: 16pt; margin: 8px 0 0 0; color: #2c3e50;
  text-align: center; letter-spacing: 0.3px;
  border-top: 3px solid #2c3e50; padding-top: 8px;
}

h2 {
  font-size: 12pt; color: #fff; background: #2c3e50;
  padding: 5px 10px; margin: 16px 0 8px 0; border-radius: 3px;
  page-break-after: avoid; break-after: avoid;
}

table { width: 100%; border-collapse: collapse; margin-bottom: 6px; font-size: 9.2pt; }
thead { display: table-header-group; }

th {
  background: #e8edf2; color: #2c3e50; font-weight: 600;
  text-align: left; padding: 5px 7px;
  border-bottom: 1.5px solid #2c3e50; font-size: 9pt;
}

th.num, td.num { text-align: center; width: 38px; }
th.unit, td.unit { text-align: center; width: 70px; }
th.price, td.price {
  text-align: right; width: 80px; white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

td {
  padding: 3.5px 7px;
  border-bottom: 0.5px solid #d8dee5;
  vertical-align: top;
}

tbody tr:nth-child(even) { background: #f7f9fb; }
tbody tr { page-break-inside: avoid; break-inside: avoid; }
tbody tr:hover { background: #eef3f8; }

.note {
  margin-top: 22px; padding: 8px 12px;
  background: #f4f7fa; border-left: 3px solid #2c3e50;
  font-size: 9pt; color: #333;
}
.note strong { color: #2c3e50; }

.footer {
  margin-top: 18px; padding-top: 8px;
  border-top: 1px solid #ccc; font-size: 8.5pt;
  color: #777; text-align: center;
}

.back-link {
  text-align: center; margin-top: 14px; font-size: 9pt;
}
.back-link a { color: #2c3e50; text-decoration: none; }

@media print {
  body { font-size: 9.5pt; }
  .container { padding: 0; max-width: 100%; }
  h2 { page-break-after: avoid; }
  table { font-size: 8.8pt; }
  tbody tr:hover { background: transparent; }
  .note, h2, th, tbody tr:nth-child(even) {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .contact-block a { color: #2c3e50 !important; }
  .back-link { display: none; }
}