/* Printable Invoice Paper Styles for 6 Templates (KhataBahi) */
.kb-invoice-paper {
    background: #ffffff;
    padding: 30px;
    margin: 0 auto;
    width: 100%;
    max-width: 800px;
    box-sizing: border-box;
    font-family: 'Segoe UI', Arial, sans-serif;
    color: #1e293b;
    border: 1px solid #e2e8f0;
}

/* Template 1: Thinqmagic Classic Corporate */
.kb-template-1 .kb-tpl1-type {
    text-align: center;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 1px;
}

.kb-template-1 .kb-tpl1-company {
    text-align: center;
    color: #3b82f6;
    font-size: 28px;
    font-weight: 900;
    margin: 6px 0 2px 0;
    letter-spacing: 0.5px;
}

.kb-template-1 .kb-tpl1-sub {
    text-align: center;
    font-size: 12px;
    color: #d97706;
    font-weight: 600;
}

.kb-template-1 .kb-tpl1-sub span { margin: 0 8px; }
.kb-template-1 .kb-tpl1-divider { border: 0; border-top: 3px double #000; margin: 12px 0 20px 0; }

.kb-template-1 .kb-tpl1-meta-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 20px;
}

.kb-template-1 .kb-tpl1-billto { width: 65%; }
.kb-template-1 .kb-tpl1-invdetails { width: 30%; text-align: right; }

.kb-template-1 .kb-tpl1-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #000;
    margin-bottom: 20px;
    font-size: 13px;
}

.kb-template-1 .kb-tpl1-table th, 
.kb-template-1 .kb-tpl1-table td {
    border: 1px solid #000;
    padding: 8px 10px;
}

.kb-template-1 .kb-tpl1-notes {
    font-size: 12px;
    margin-bottom: 20px;
}

.kb-template-1 .kb-tpl1-footer-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 12px;
    margin-bottom: 20px;
}

.kb-template-1 .kb-sig-img { max-height: 50px; }

.kb-template-1 .kb-tpl1-bottom-bar {
    text-align: center;
    font-size: 12px;
    font-weight: 700;
}

/* Template 2: TaxDoctor Dark Banner & UPI QR Code */
.kb-template-2 { padding: 0; border: 1px solid #334155; }

.kb-template-2 .kb-tpl2-header-banner {
    background: #000000;
    color: #ffffff;
    padding: 20px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 40% 100%, 0 85%);
}

.kb-template-2 .kb-tpl2-logo-text { font-size: 24px; font-weight: 800; }
.kb-template-2 .kb-tpl2-logo { max-height: 45px; }

.kb-template-2 .kb-tpl2-company-info h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}

.kb-template-2 .kb-tpl2-cin { font-size: 11px; opacity: 0.8; }

.kb-template-2 .kb-tpl2-meta-bar {
    padding: 15px 25px;
    text-align: right;
    font-size: 13px;
}

.kb-template-2 .kb-tpl2-address-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.kb-template-2 .kb-tpl2-address-box {
    padding: 12px 15px;
    font-size: 12px;
}

.kb-template-2 .kb-tpl2-address-box:first-child { border-right: 1px solid #000; }

.kb-template-2 .kb-tpl2-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.kb-template-2 .kb-tpl2-table th,
.kb-template-2 .kb-tpl2-table td {
    border: 1px solid #000;
    padding: 8px;
}

.kb-template-2 .kb-tpl2-summary-grid {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 1fr;
    border-bottom: 1px solid #000;
    font-size: 11px;
}

.kb-template-2 .kb-tpl2-bank-box,
.kb-template-2 .kb-tpl2-words-box,
.kb-template-2 .kb-tpl2-totals-box {
    padding: 10px;
    border-right: 1px solid #000;
}

.kb-template-2 .kb-tpl2-totals-box { border-right: none; text-align: center; }

.kb-template-2 .kb-tpl2-grand-row {
    font-size: 14px;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
    padding-bottom: 6px;
    margin-bottom: 8px;
}

.kb-template-2 .kb-qr-container img, #kb-upi-qrcode canvas {
    max-width: 110px;
    height: auto;
    margin: 0 auto;
    display: block;
}

.kb-template-2 .kb-tpl2-bottom-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    padding: 15px;
    font-size: 11px;
}

.kb-template-2 .kb-tpl2-footer-banner {
    background: #475569;
    color: #ffffff;
    text-align: center;
    padding: 12px;
    font-size: 12px;
    font-weight: 600;
}

/* Template 3: CA Professional GST */
.kb-template-3 { border: 2px solid #0f172a; padding: 20px; font-size: 12px; }
.kb-template-3 .kb-tpl3-header { display: flex; justify-content: space-between; border-bottom: 2px solid #0f172a; pb: 10px; }
.kb-template-3 .kb-tpl3-grid-table { width: 100%; border-collapse: collapse; margin: 15px 0; }
.kb-template-3 .kb-tpl3-grid-table td { border: 1px solid #64748b; padding: 8px; }
.kb-template-3 .kb-tpl3-items-table { width: 100%; border-collapse: collapse; margin-bottom: 15px; }
.kb-template-3 .kb-tpl3-items-table th, .kb-template-3 .kb-tpl3-items-table td { border: 1px solid #64748b; padding: 6px; text-align: center; }

/* Template 4: Minimalist Modern */
.kb-template-4 { font-family: 'Inter', sans-serif; padding: 40px; }
.kb-template-4 .kb-tpl4-line { border: 0; border-top: 2px solid #0f172a; margin: 20px 0; }
.kb-template-4 .kb-tpl4-table th { border-bottom: 2px solid #0f172a; text-align: left; padding: 10px; }
.kb-template-4 .kb-tpl4-table td { padding: 12px 10px; border-bottom: 1px solid #e2e8f0; }

/* Template 5: Creative Agency Accent */
.kb-template-5 { display: flex; border-radius: 12px; overflow: hidden; }
.kb-template-5 .kb-tpl5-sidebar-accent { width: 14px; background: var(--brand-accent, #1e3a8a); }
.kb-template-5 .kb-tpl5-content { flex: 1; padding: 30px; }
.kb-template-5 .kb-tpl5-badge { background: var(--brand-accent, #1e3a8a); color: #fff; padding: 6px 14px; border-radius: 20px; font-weight: 700; }

/* Template 6: Retail Receipt */
.kb-template-6 { max-width: 400px; font-family: 'Courier New', monospace; border: 1px dashed #000; padding: 15px; }
.kb-template-6 .kb-tpl6-dashed { border: 0; border-top: 1px dashed #000; margin: 10px 0; }

/* Print Media Optimization */
@media print {
    body * { visibility: hidden; }
    #kb-preview-modal, #kb-preview-modal * { visibility: visible; }
    #kb-preview-modal { position: absolute; left: 0; top: 0; width: 100%; height: auto; background: none; }
    .no-print { display: none !important; }
}
