.cp-document { font-family: Montserrat, sans-serif; font-size: 12pt; max-width: 100%; margin: 0 auto; }
.header-blue { background: #003366; color: white; padding: 10px; display: flex; justify-content: space-between; align-items: center; }
.header-blue .left img { max-width: 150px; }
.header-blue .right { text-align: right; }
.header-blue .right p, .right textarea { margin: 5px 0; font-size: 10pt; color: white; background: transparent; border: none; width: 100%; }
h2 { font-size: 14pt; text-align: left; }
#cp-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
#cp-table th, td { border: 1px solid black; padding: 8px; text-align: center; font-size: 10pt; }
#cp-table th { background: #f8f9fa; font-weight: bold; }
#cp-table td { vertical-align: middle; }
contenteditable { background: #fff; outline: none; }
.totals-green { background: #00b050; color: white; font-weight: bold; }
.expense-yellow { background: #ffff00; color: black; }
.footer-green { background: #00b050; color: white; padding: 10px; font-size: 10pt; }
.footer-green .note { background: #00b050; padding: 5px; }
#cp-controls { margin: 10px 0; }
#cp-controls button, label { margin-right: 10px; }
#product-modal { position: fixed; top: 20%; left: 20%; width: 60%; background: white; padding: 20px; border: 1px solid #ccc; z-index: 1000; }
.cp-db-table { width: 100%; border-collapse: collapse; }
.cp-db-table th, td { border: 1px solid #ddd; padding: 8px; }
.delete-row { font-size: 10pt; background: red; color: white; border: none; cursor: pointer; }
@media print { 
    #cp-controls, #product-modal, .delete-row, #view-modal { display: none !important; }
    .cp-document { font-size: 10pt; }
    .header-blue, .totals-green, .expense-yellow, .footer-green { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}