/**
 * =============================================================================
 * NABDH AL FAHS — UNIFIED OFFICIAL A4 PRINT & PDF DESIGN SYSTEM
 * Strict Typography: 'Times New Roman', Times, Georgia, serif
 * Exact Paper Size: A4 Portrait (210mm x 297mm)
 * Unified Design Across: Quotation, Job Card, Final Invoice
 * =============================================================================
 */

.nabdh-a4-sheet,
.nabdh-a4-sheet *,
.printable-quotation-paper,
.printable-quotation-paper * {
    box-sizing: border-box !important;
    font-family: 'Times New Roman', Times, Georgia, serif !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

.nabdh-a4-sheet,
.printable-quotation-paper {
    width: 210mm !important;
    min-height: 297mm !important;
    max-width: 210mm !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #0f2942 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.35), 0 4px 12px rgba(15, 23, 42, 0.12) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    border: 1px solid #cbd5e1 !important;
}

/* Central Soft Watermark */
.nabdh-watermark {
    position: absolute !important;
    top: 52% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 390px !important;
    height: 390px !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 0 !important;
    opacity: 0.042 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nabdh-watermark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* ==========================================================================
   1. CREATIVE LAYERED WAVE HEADER BANNER
   ========================================================================== */
.nabdh-top-header,
.nabdh-top-banner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    background: linear-gradient(180deg, #f0f7fd 0%, #ffffff 100%) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.nabdh-header-main,
.nabdh-header-content {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 5.5mm 12mm 2mm 12mm !important;
}

.nabdh-brand-left,
.nabdh-brand-group {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
}

.nabdh-logo-circle {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 2px solid #1b5d8a !important;
    box-shadow: 0 4px 12px rgba(15, 45, 82, 0.14) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px !important;
    flex-shrink: 0 !important;
}

.nabdh-logo-circle img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.nabdh-brand-titles {
    display: flex !important;
    flex-direction: column !important;
}

.nabdh-company-name,
.nabdh-brand-name {
    font-size: 23px !important;
    font-weight: 900 !important;
    color: #0e3a59 !important;
    letter-spacing: 1.2px !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
}

.nabdh-company-subtitle,
.nabdh-brand-subtitle {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #1b5d8a !important;
    letter-spacing: 0.85px !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
}

.nabdh-location-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 20px !important;
    padding: 5px 13px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #0e3a59 !important;
    box-shadow: 0 2px 6px rgba(15, 45, 82, 0.06) !important;
}

.nabdh-location-pill .loc-pin {
    color: #0e3a59 !important;
    font-size: 13px !important;
}

.nabdh-wave-banner {
    width: 100% !important;
    height: 22px !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

.nabdh-wave-banner svg,
.nabdh-header-waves {
    width: 100% !important;
    height: 22px !important;
    display: block !important;
}

/* ==========================================================================
   2. MAIN BODY WRAPPER (CONSISTENT PADDING)
   ========================================================================== */
.nabdh-doc-body {
    position: relative !important;
    z-index: 2 !important;
    flex: 1 !important;
    padding: 2.5mm 12mm 3mm 12mm !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7.5px !important;
}

/* ==========================================================================
   3. DOCUMENT TITLE & REFERENCE BADGE ROW
   ========================================================================== */
.nabdh-doc-title-row,
.nabdh-title-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 4px !important;
    border-bottom: 1.5px solid #dbe7f3 !important;
}

.nabdh-doc-title,
.nabdh-doc-main-title {
    font-size: 25px !important;
    font-weight: 900 !important;
    color: #0c2d48 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.nabdh-doc-no-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: linear-gradient(135deg, #eef5fb 0%, #e1eef8 100%) !important;
    border: 1px solid #b8d4ea !important;
    border-radius: 6px !important;
    padding: 5px 14px !important;
}

.nabdh-doc-no-pill .no-lbl {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #334155 !important;
}

.nabdh-doc-no-pill .no-val {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: #0c2d48 !important;
    letter-spacing: 0.4px !important;
}

/* ==========================================================================
   4. HORIZONTAL METADATA STRIP
   ========================================================================== */
.nabdh-meta-strip {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10px !important;
    background: #f8fbfe !important;
    border: 1px solid #d5e3f0 !important;
    border-radius: 6px !important;
    padding: 6.5px 12px !important;
}

.nabdh-meta-strip.cols-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.nabdh-meta-cell,
.nabdh-meta-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    border-right: 1px solid #e2edf6 !important;
    padding-right: 8px !important;
}

.nabdh-meta-cell:last-child,
.nabdh-meta-item:last-child {
    border-right: none !important;
    padding-right: 0 !important;
}

.nabdh-meta-cell .meta-lbl,
.nabdh-meta-lbl {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}

.nabdh-meta-cell .meta-val,
.nabdh-meta-val {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
}

/* Status Pill inside Meta & Tables */
.nabdh-status-pill {
    display: inline-block !important;
    padding: 2px 9px !important;
    border-radius: 12px !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    text-align: center !important;
    width: fit-content !important;
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.nabdh-status-pill.status-approved,
.nabdh-status-pill.status-checked {
    background: #dcfce7 !important;
    color: #166534 !important;
    border-color: #bbf7d0 !important;
}

.nabdh-status-pill.status-pending,
.nabdh-status-pill.pending {
    background: #fef3c7 !important;
    color: #92400e !important;
    border-color: #fde68a !important;
}

.nabdh-status-pill.status-progress,
.nabdh-status-pill.progress,
.nabdh-status-pill.in-progress {
    background: #dbeafe !important;
    color: #1e40af !important;
    border-color: #bfdbfe !important;
}

.nabdh-status-pill.status-rejected {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border-color: #fecaca !important;
}

/* ==========================================================================
   5. CUSTOMER & VEHICLE INFORMATION CARDS (2-COL GRID)
   ========================================================================== */
.nabdh-info-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

.nabdh-info-card {
    background: #f8fbfe !important;
    border: 1px solid #d5e3f0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.nabdh-info-card-header {
    background: linear-gradient(90deg, #e8f1fa 0%, #f3f8fd 100%) !important;
    padding: 5px 12px !important;
    border-bottom: 1px solid #d5e3f0 !important;
}

.nabdh-info-card-title {
    font-size: 12.5px !important;
    font-weight: 900 !important;
    color: #0c2d48 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

.nabdh-info-card-body {
    padding: 6px 12px !important;
}

.nabdh-field-row,
.nabdh-info-row {
    display: grid !important;
    grid-template-columns: 95px 1fr !important;
    padding: 2px 0 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    border-bottom: 1px dashed #e5eef7 !important;
}

.nabdh-field-row:last-child,
.nabdh-info-row:last-child {
    border-bottom: none !important;
}

.nabdh-field-lbl,
.nabdh-info-lbl {
    font-weight: 700 !important;
    color: #475569 !important;
}

.nabdh-field-val,
.nabdh-info-val {
    font-weight: 800 !important;
    color: #0f172a !important;
}

.nabdh-field-val.val-vin {
    color: #0c2d48 !important;
    letter-spacing: 0.4px !important;
}

/* ==========================================================================
   6. SECTION HEADINGS, COMPLAINT BOX & TABLES
   ========================================================================== */
.nabdh-complaint-box {
    background: #f8fbfe !important;
    border: 1px solid #d5e3f0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.nabdh-complaint-header {
    background: linear-gradient(90deg, #134568 0%, #1b5d8a 100%) !important;
    color: #ffffff !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    padding: 4.5px 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

.nabdh-complaint-body {
    padding: 6px 12px !important;
    font-size: 11.5px !important;
    color: #1e293b !important;
    line-height: 1.38 !important;
}

.nabdh-table-section,
.nabdh-section-block {
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.nabdh-section-bar {
    background: #eef5fb !important;
    color: #0c2d48 !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
    padding: 4px 10px !important;
    border-bottom: 1px solid #cbd5e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

.nabdh-table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.nabdh-table th {
    background: linear-gradient(180deg, #134568 0%, #0e3552 100%) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 5.5px 9px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.14) !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.nabdh-table th:last-child {
    border-right: none !important;
}

/* Secondary Light Blue Header Variant (matching Job Card & Parts Used in reference) */
.nabdh-table.header-soft th {
    background: linear-gradient(180deg, #dceaf7 0%, #cbe0f3 100%) !important;
    color: #0c2d48 !important;
    border-right: 1px solid #b8d4ea !important;
    border-bottom: 1px solid #b8d4ea !important;
}

.nabdh-table td {
    padding: 5px 9px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right: 1px solid #eef2f6 !important;
    font-size: 11.5px !important;
    color: #0f172a !important;
    vertical-align: middle !important;
    white-space: normal !important;
}

.nabdh-table td:last-child {
    border-right: none !important;
}

.nabdh-table tbody tr:nth-child(even) td {
    background-color: #f8fbfe !important;
}

.nabdh-table tbody tr:last-child td {
    border-bottom: none !important;
}

.nabdh-table .col-center {
    text-align: center !important;
}

.nabdh-table .col-right {
    text-align: right !important;
    font-weight: 700 !important;
}

.nabdh-table .col-code {
    font-weight: 700 !important;
    color: #134568 !important;
}

.nabdh-table .col-desc {
    font-weight: 700 !important;
    color: #0f172a !important;
}

.nabdh-table .item-sub-note {
    display: block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #0d9488 !important;
    margin-top: 1px !important;
}

/* ==========================================================================
   7. NOTES & TOTALS SUMMARY ROW
   ========================================================================== */
.nabdh-bottom-split {
    display: grid !important;
    grid-template-columns: 1.25fr 0.75fr !important;
    gap: 12px !important;
    align-items: stretch !important;
}

.nabdh-notes-box {
    background: #f8fbfe !important;
    border: 1px solid #d5e3f0 !important;
    border-radius: 6px !important;
    padding: 7px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.nabdh-notes-title {
    font-size: 12px !important;
    font-weight: 900 !important;
    color: #0c2d48 !important;
    margin: 0 0 4px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

.nabdh-notes-list,
.nabdh-terms-compact-list {
    margin: 0 !important;
    padding-left: 15px !important;
    font-size: 10.2px !important;
    color: #1e293b !important;
    line-height: 1.35 !important;
}

.nabdh-notes-list li,
.nabdh-terms-compact-list li {
    margin-bottom: 1.5px !important;
}

.nabdh-notes-custom {
    margin: 4px 0 0 0 !important;
    padding-top: 4px !important;
    border-top: 1px dashed #cbd5e1 !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #134568 !important;
}

.nabdh-totals-card,
.nabdh-totals-box {
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.nabdh-total-row,
.nabdh-tot-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 5px 11px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-size: 11.5px !important;
}

.nabdh-total-row .t-lbl,
.nabdh-tot-lbl {
    font-weight: 700 !important;
    color: #334155 !important;
}

.nabdh-total-row .t-val,
.nabdh-tot-val {
    font-weight: 800 !important;
    color: #0f172a !important;
}

.nabdh-total-row.row-grand-total,
.nabdh-tot-grand {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 7.5px 12px !important;
    background: linear-gradient(135deg, #0c2d48 0%, #134568 100%) !important;
    color: #ffffff !important;
    border-bottom: none !important;
}

.nabdh-total-row.row-grand-total .t-lbl,
.nabdh-tot-grand .grand-lbl {
    font-size: 13px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
}

.nabdh-total-row.row-grand-total .t-val,
.nabdh-tot-grand .grand-val {
    font-size: 15.5px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
}

/* Full 7-Item Terms & Conditions Box for Job Card */
.nabdh-full-terms-box {
    background: #f8fbfe !important;
    border: 1px solid #d5e3f0 !important;
    border-radius: 6px !important;
    padding: 5.5px 11px !important;
}

.nabdh-terms-header {
    font-size: 11px !important;
    font-weight: 900 !important;
    color: #0c2d48 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    margin: 0 0 3px 0 !important;
    padding-bottom: 2px !important;
    border-bottom: 1px solid #dde8f2 !important;
}

.nabdh-full-terms-list {
    margin: 0 !important;
    padding-left: 15px !important;
    font-size: 9.2px !important;
    line-height: 1.3 !important;
    color: #1e293b !important;
}

.nabdh-full-terms-list li {
    margin-bottom: 1.5px !important;
    text-align: justify !important;
}

.nabdh-full-terms-list li:last-child {
    margin-bottom: 0 !important;
}

/* Official TRN Tax Number Badge */
.nabdh-trn-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: #eef5fb !important;
    border: 1px solid #b8d4ea !important;
    color: #0c2d48 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 2px 9px !important;
    border-radius: 4px !important;
    margin-top: 3px !important;
    width: fit-content !important;
    letter-spacing: 0.4px !important;
}

/* ==========================================================================
   8. JOB CARD SCHEDULE STRIP & SIGNATURES ROW
   ========================================================================== */
.nabdh-jc-schedule-strip,
.nabdh-timing-strip {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
    background: #f0f6fc !important;
    border: 1px solid #c8dbee !important;
    border-radius: 6px !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
}

.nabdh-jc-schedule-strip .sched-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.nabdh-jc-schedule-strip .s-lbl {
    font-weight: 700 !important;
    color: #475569 !important;
}

.nabdh-jc-schedule-strip .s-val {
    font-weight: 800 !important;
    color: #0c2d48 !important;
}

.nabdh-signatures-row,
.nabdh-sign-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr 110px !important;
    gap: 14px !important;
    align-items: end !important;
    padding-top: 4px !important;
    border-top: 1px solid #dbe7f3 !important;
    margin-top: auto !important;
}

.nabdh-sig-box,
.nabdh-sign-box {
    background: #f8fbfe !important;
    border: 1px solid #d5e3f0 !important;
    border-radius: 6px !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
    color: #0f172a !important;
}

.nabdh-sig-box .sig-box-title,
.nabdh-sign-heading {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
    color: #0c2d48 !important;
    margin: 0 0 4px 0 !important;
    text-transform: uppercase !important;
}

.nabdh-sig-box .sig-detail-line {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 10.5px !important;
    margin-bottom: 2px !important;
}

.nabdh-sig-box .sig-lbl {
    font-weight: 700 !important;
    color: #475569 !important;
}

.nabdh-sig-box .sig-val {
    font-weight: 800 !important;
    color: #0f172a !important;
}

.nabdh-sig-box .sig-line-drawn {
    border-bottom: 1px dashed #64748b !important;
    height: 16px !important;
    margin: 4px 0 2px 0 !important;
}

.nabdh-sig-box .sig-sub-caption {
    display: block !important;
    text-align: center !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    color: #475569 !important;
}

.nabdh-seal-box,
.nabdh-seal-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.nabdh-seal-img,
.nabdh-seal-col img {
    width: 68px !important;
    height: 68px !important;
    object-fit: contain !important;
    opacity: 0.92 !important;
    transform: rotate(-4deg) !important;
}

.nabdh-seal-label,
.nabdh-seal-caption {
    font-size: 9px !important;
    font-weight: 800 !important;
    color: #134568 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 2px !important;
}

/* ==========================================================================
   9. CREATIVE LAYERED WAVE FOOTER BANNER ("Your Car's Health, Our Priority")
   ========================================================================== */
.nabdh-bottom-footer,
.nabdh-bottom-banner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    margin-top: 4px !important;
    flex-shrink: 0 !important;
}

.nabdh-footer-wave {
    width: 100% !important;
    height: 16px !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

.nabdh-footer-wave svg {
    width: 100% !important;
    height: 16px !important;
    display: block !important;
}

.nabdh-footer-bar,
.nabdh-footer-content {
    background: linear-gradient(90deg, #0c2d48 0%, #134568 55%, #0c2d48 100%) !important;
    color: #ffffff !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 6px 12mm 7px 12mm !important;
}

.nabdh-footer-slogan {
    font-size: 13px !important;
    font-weight: 900 !important;
    font-style: italic !important;
    color: #ffffff !important;
    letter-spacing: 0.4px !important;
}

.nabdh-footer-pillars {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #e0f2fe !important;
}

.nabdh-pillar-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.nabdh-pillar-sep {
    color: #c59b27 !important;
    font-weight: 900 !important;
}

/* ==========================================================================
   10. STRICT A4 PRINT MEDIA RULES
   ========================================================================== */
@media print {
    @page {
        size: A4 portrait !important;
        margin: 0mm !important;
    }

    html, body {
        width: 210mm !important;
        min-height: 297mm !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .nabdh-a4-sheet,
    .printable-quotation-paper {
        width: 210mm !important;
        min-height: 297mm !important;
        max-width: 210mm !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        page-break-inside: avoid !important;
    }

    .quote-view-topbar,
    .print-toolbar,
    .print-controls-bar {
        display: none !important;
    }
}
