invoice-generator / style.css
anuragshas's picture
fix: double printing issue
f80fd9f
@import "tailwindcss";
/* Card Layout Optimizations for All Screen Sizes */
.item-card {
border: 1px solid #e5e7eb;
margin-bottom: 1rem;
position: relative;
overflow: hidden;
}
.item-card input,
.item-card textarea {
font-size: 16px; /* Prevent zoom on iOS */
}
/* Enhanced spacing for larger screens */
@media (width >= 768px) {
.item-card {
margin-bottom: 1rem;
}
.item-card input,
.item-card textarea {
font-size: 16px;
}
}
@media (width >= 768px) {
.item-card .grid-cols-1 {
grid-template-columns: repeat(2, 1fr);
}
}
/* Enhanced amount display */
.item-amount {
text-shadow: 0 1px 2px rgb(0 0 0 / 10%);
}
/* Removed scroll enhancement and focus ring */
.quotation-print {
max-width: 800px;
margin: auto;
border: 1px solid #000;
padding: 15px;
font-size: 12px;
line-height: 1.3;
}
.quotation-print h2 {
text-align: center;
margin-bottom: 10px;
font-size: 18px;
}
.quotation-print .section {
margin-bottom: 8px;
}
.totals table {
float: right;
border: none;
width: 100%;
border-collapse: collapse;
}
.totals td {
border: 1px solid #000;
padding: 8px;
}
.disclaimer {
color: #555;
margin-top: 10px;
font-size: 8px;
text-align: justify;
border-top: 1px solid #000;
padding-top: 5px;
}
.quote-meta {
text-align: right;
}
.header {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.company-details h1 {
margin: 0;
font-size: 18px;
color: #036;
font-family: Arial, Helvetica, sans-serif;
}
.quotation-title h1 {
margin: 0;
font-size: 18px;
color: #036;
text-align: right;
}
.quote-meta table {
border-collapse: collapse;
width: 100%;
}
.quote-meta td {
border: 1px solid #000;
padding: 5px;
}
.customer-info {
border: 1px solid #000;
padding: 8px;
margin-bottom: 10px;
font-size: 11px;
}
.items-table-print {
width: 100%;
border-collapse: collapse;
margin-bottom: 10px;
font-size: 10px;
}
.items-table-print th,
.items-table-print td {
border: 1px solid #000;
padding: 4px;
text-align: left;
}
.items-table-print thead th {
background-color: #e0f2f7;
}
.footer {
margin-top: 10px;
}
.notes-and-total {
display: flex;
justify-content: space-between;
margin-bottom: 5px;
}
.notes {
width: 60%;
font-size: 10px;
line-height: 1.2;
}
.totals {
width: 35%;
}
.totals td:first-child {
text-align: right;
}
.thank-you {
text-align: center;
margin-top: 10px;
font-weight: bold;
font-size: 12px;
}
@media print {
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
@page {
size: a4;
margin: 8mm;
}
body {
font-size: 10pt;
line-height: 1.2;
}
.quotation-print {
max-width: 100%;
padding: 10px;
margin: auto;
border: 1px solid #000;
font-size: 10px;
line-height: 1.2;
}
.items-table-print,
.items-table-print tr,
.items-table-print td {
page-break-inside: avoid !important;
}
.header,
.customer-info,
.footer,
.notes-and-total,
.disclaimer,
.thank-you {
page-break-inside: avoid !important;
}
button {
display: none;
}
/* Hide all content except the print modal during printing */
body > *:not(.print-modal) {
display: none !important;
}
/* Show only the print modal content */
.print-modal {
display: block !important;
position: static !important;
z-index: auto !important;
background: white !important;
margin: 0 !important;
padding: 0 !important;
}
.print-modal > div {
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
box-shadow: none !important;
background: white !important;
}
/* Ensure single page printing */
.print-modal .quotation-print {
page-break-after: avoid !important;
page-break-before: avoid !important;
margin: 0 !important;
padding: 8px !important;
}
}