.invoice-drag-handle { cursor: grab; }
.invoice-drag-handle:active { cursor: grabbing; }
.invoice-designer-form legend.card-header {
    float: none;
    width: 100%;
}
.invoice-a4 {
    list-style: none;
    padding: 1.25rem;
    margin: 0;
    background: #fff;
    border: 1px solid #d8dee5;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .08);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: .8rem;
    min-height: 65rem;
    align-content: start;
}
.invoice-block {
    border: 1px solid #b9c8d3;
    border-left: 4px solid var(--bs-primary, #087c7e);
    border-radius: .35rem;
    padding: .8rem;
    grid-column: 1 / -1;
    background: #f8fafb;
    cursor: grab;
    min-width: 0;
}
.invoice-block.invoice-half { grid-column: auto; }
.invoice-block.invoice-disabled { opacity: .65; border-style: dashed; }
.invoice-block.invoice-dragging { opacity: .4; }
.invoice-block-controls { display: flex; gap: .5rem; flex-wrap: wrap; }
.invoice-block-controls label { flex: 1; min-width: 6rem; font-size: .85rem; }
.invoice-block input, .invoice-block select, .invoice-block button { cursor: auto; }
.invoice-logo { max-width: 100%; max-height: 100px; object-fit: contain; }
.invoice-pdf-frame { display: block; width: 100%; height: 75vh; min-height: 400px; border: 1px solid #d8dee5; }
.invoice-admin-table th, .invoice-admin-table td { vertical-align: middle; }
.invoice-admin-table .invoice-actions { display: flex; gap: .4rem; flex-wrap: wrap; }
@media (max-width: 575px) {
    .invoice-a4 { padding: .5rem; min-height: 0; grid-template-columns: minmax(0, 1fr); }
    .invoice-block.invoice-half { grid-column: 1 / -1; }
    .invoice-block { padding: .6rem; }
    .invoice-pdf-frame { min-height: 300px; }
}
