.gi-wide { margin-top: 12px; }
.tp-radio { display: flex !important; align-items: center; gap: 10px; font-weight: 500 !important; margin-top: 10px; }
.gi-items input, .gi-items select { min-width: 70px; }
.gi-items td:first-child input { min-width: 200px; }
.gi-items td { white-space: normal; vertical-align: top; }
.gi-items .x { font: inherit; border: 1.5px solid var(--rule); background: #fff; border-radius: 8px; padding: 6px 10px; cursor: pointer; }
.invoice { background: #fff; color: #111; border: 1.5px solid var(--rule); border-radius: 12px; padding: 28px; margin: 20px 0; font-size: 14px; line-height: 1.45; overflow-x: auto; }
.invoice h3 { font-family: var(--display); font-size: 22px; margin: 0; letter-spacing: .02em; text-align: center; }
.invoice .iv-sub { text-align: center; color: #555; margin: 2px 0 16px; }
.invoice .iv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 14px; }
.invoice .iv-box { border: 1px solid #bbb; padding: 10px 12px; border-radius: 6px; }
.invoice .iv-box b { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: #555; margin-bottom: 4px; }
.invoice table { border-collapse: collapse; width: 100%; margin: 10px 0; min-width: 560px; }
.invoice th, .invoice td { border: 1px solid #bbb; padding: 5px 7px; text-align: left; vertical-align: top; }
.invoice th { background: #f0f2f7; font-size: 12px; }
.invoice td.num, .invoice th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.invoice .iv-tot { margin-left: auto; width: min(360px, 100%); }
.invoice .iv-tot td { border: 0; border-bottom: 1px solid #ddd; }
.invoice .iv-tot tr.grand td { font-weight: 700; font-size: 16px; border-top: 2px solid #111; border-bottom: 2px solid #111; }
.invoice .iv-words { margin: 8px 0; font-weight: 600; }
.invoice .iv-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 14px; }
.invoice .iv-sign { text-align: right; margin-top: 36px; }
.invoice .small { font-size: 12px; color: #555; }
.invoice .iv-warn { color: #B3261E; }
@media (max-width: 640px) { .invoice { padding: 14px; font-size: 13px; } .invoice .iv-cols, .invoice .iv-foot { grid-template-columns: 1fr; } }
@media print {
  .gi-form, .tp-note, .crumb, .page-head, .band.white > .wrap > .tp-note { display: none !important; }
  .invoice { border: 0; padding: 0; margin: 0; overflow: visible; }
  .band, .wrap { padding: 0 !important; margin: 0 !important; max-width: none !important; }
  @page { size: A4; margin: 12mm; }
}
