.invoice-section {
    margin-top: 18px;
}

.invoice-section h3 {
    margin: 0 0 6px;
    font-size: 11pt;
}

.invoice-section + .invoice-section {
    margin-top: 20px;
}

.payment-section {
    width: 52%;
    margin-left: auto;
}

.invoice-meta {
    align-items: center;
}

.payment-stamp {
    display: inline-block;
    margin-left: 12px;
    padding: 5px 11px;
    border: 3px solid currentColor;
    font-size: 13pt;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1;
    white-space: nowrap;
    transform: rotate(-7deg);
}

.stamp-unpaid {
    color: #c62828;
}

.stamp-partial {
    color: #800020;
}

.stamp-paid {
    color: #18824b;
}

.pill.reserved {
    background: #e9edf7;
    color: #4a5d87;
}

.room-link {
    font-size: 12px;
}

.room-service-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.room-service-row:last-child {
    border-bottom: 0;
}

.room-service-row strong,
.room-service-row small {
    display: block;
}

.room-service-row small {
    margin-top: 5px;
    color: var(--muted);
}

.room-service-row .actions {
    flex-wrap: nowrap;
}

.bill-edit-heading {
    margin: 22px 0 9px;
    font: 500 17px Georgia, serif;
}

.bill-edit-line {
    margin: 0 0 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
}

.bill-edit-line > strong,
.bill-edit-line > small {
    display: block;
    margin-bottom: 8px;
}

.bill-edit-line .field {
    margin-bottom: 10px;
}

@media print {
    .payment-stamp {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .invoice-section,
    .invoice-section table,
    .invoice-section tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .invoice-section h3 {
        margin-bottom: 5px;
    }
}

@media (max-width: 560px) {
    .room-service-row {
        align-items: flex-start;
        flex-direction: column;
    }
}
