/* Document builders - split form/preview layout */

.db-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
@media (max-width: 991.98px) { .db-wrap { grid-template-columns: 1fr; } }

.db-form-pane { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.db-preview-pane { position: sticky; top: 16px; min-width: 0; }

.db-preview {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 36px;
    color: #111;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 11pt;
    line-height: 1.5;
    max-height: 80vh;
    overflow: auto;
    box-shadow: var(--shadow-sm);
}
.db-preview h1, .db-preview h2, .db-preview h3, .db-preview h4 { color: #111; }
.db-preview a { color: #2563EB; }

.db-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }

/* ─── Invoice / quote: dynamic line items + logo upload ─── */
.db-logo-row {
    padding: 10px 12px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
}
.db-logo-row .form-label { font-size: 13px; font-weight: 600; margin-bottom: 6px; }

.db-items-head {
    display: grid;
    grid-template-columns: 1fr 90px 110px 38px;
    gap: 8px;
    padding: 6px 4px;
    font-size: 11px;
    font-weight: 600;
    color: #94A3B8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.db-items-head > span:nth-child(2),
.db-items-head > span:nth-child(3) { text-align: right; }
.db-items-wrap {
    display: grid;
    gap: 6px;
}
.db-item-row {
    display: grid;
    grid-template-columns: 1fr 90px 110px 38px;
    gap: 8px;
    align-items: center;
}
.db-item-row .form-control { font-size: 14px; }
.db-item-row .db-item-qty,
.db-item-row .db-item-price { text-align: right; font-variant-numeric: tabular-nums; }
.db-item-remove {
    width: 38px; height: 38px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
}
.db-item-remove:disabled { opacity: 0.4; }
@media (max-width: 640px) {
    .db-items-head { display: none; }
    .db-item-row {
        grid-template-columns: 1fr 70px 90px 36px;
        gap: 6px;
    }
    .db-item-row .form-control { font-size: 13px; }
}
