/* Client experience enhancements — gallery, progress, reminders, share */
.client-payment-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    margin-bottom: 16px;
    background: linear-gradient(135deg, #fef3c7 0%, #fffbeb 100%);
    border: 1px solid #fcd34d;
    border-radius: 12px;
    font-size: 13px;
}
.client-payment-banner.is-overdue {
    background: linear-gradient(135deg, #fee2e2 0%, #fef2f2 100%);
    border-color: #fca5a5;
}
.client-payment-banner i { font-size: 1.25rem; color: #b45309; margin-top: 2px; }
.client-payment-banner.is-overdue i { color: #dc2626; }
.client-payment-banner strong { display: block; margin-bottom: 4px; color: #92400e; }
.client-payment-banner.is-overdue strong { color: #991b1b; }
.client-payment-banner-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

.installment-progress-wrap { margin: 20px 0; }
.installment-progress-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 12px;
}
.installment-progress-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}
.installment-progress-bar {
    height: 10px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 8px;
}
.installment-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary-light, #ff6b6b), var(--primary, #e63946));
    border-radius: 999px;
    transition: width 0.4s ease;
}
.installment-progress-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--gray, #64748b);
}
.installment-next-due {
    margin-top: 10px;
    padding: 10px 12px;
    background: #f8fafc;
    border-radius: 8px;
    font-size: 12px;
}

.map-mini-gallery {
    display: flex;
    gap: 6px;
    padding: 0 12px 8px;
    overflow-x: auto;
    scrollbar-width: thin;
}
.map-mini-gallery-thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 44px;
    border-radius: 6px;
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    opacity: 0.85;
}
.map-mini-gallery-thumb.active,
.map-mini-gallery-thumb:hover {
    border-color: var(--primary, #e63946);
    opacity: 1;
}
.map-mini-similar {
    padding: 8px 12px 12px;
    border-top: 1px solid #f1f5f9;
    font-size: 11px;
}
.map-mini-similar-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.map-mini-similar-chip {
    padding: 4px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    border: none;
    font-size: 11px;
    cursor: pointer;
}
.map-mini-similar-chip:hover { background: var(--primary-muted, #fef3c7); }

.btn-whatsapp-pro {
    background: #25d366 !important;
    color: #fff !important;
    border: none !important;
}
.btn-whatsapp-pro:hover { filter: brightness(1.05); }

.share-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.share-actions-row .btn { flex: 1; min-width: 120px; }

.client-reserve-note {
    padding: 12px 14px;
    background: rgba(34, 197, 94, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.25);
    border-radius: 10px;
    font-size: 12px;
    margin-bottom: 12px;
}

@media print {
    body * { visibility: hidden; }
    #proformaPrintRoot, #proformaPrintRoot * { visibility: visible; }
    #proformaPrintRoot {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
    }
}
