/* Existing invoicing workspace, field and compact dialog surfaces are reused. */
.is-propagation-workspace .table-panel { display: none; }
.propagation-page { min-width: 0; width: 100%; }
.propagation-page .propagation-fields,
.propagation-dialog .propagation-fields {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}
.propagation-page .field, .propagation-dialog .field { min-width: 0; }
.propagation-page .form-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 12px; }
.propagation-page .table-wrap { max-width: 100%; overflow-x: auto; }
.propagation-page td { overflow-wrap: anywhere; }
.propagation-thumbnail { width: 76px; height: 100px; object-fit: contain; float: left; margin: 0 12px 8px 0; border-radius: var(--radius-sm, 8px); }
.propagation-page .invoicing-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.propagation-page .invoicing-tabs .is-active { background: var(--primary); color: #fff; }
.propagation-sources { margin-bottom: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.propagation-dialog { width: min(700px, calc(100vw - 32px)); max-height: 85vh; overflow-y: auto; }
.propagation-page details { margin-block: 12px; }
@media (max-width: 620px) {
  .propagation-page .propagation-fields, .propagation-dialog .propagation-fields { grid-template-columns: minmax(0, 1fr); }
  .propagation-page .invoicing-tabs button { flex: 1 1 45%; }
}

.is-propagation-workspace #tableView { grid-template-columns: minmax(0, 1fr); }
.is-propagation-workspace #actionPanel { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.prop-library-books { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-block: 16px 24px; }
.prop-library-books .prop-book { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px; white-space: normal; text-align: center; }
.prop-book img { width: 100%; height: 160px; object-fit: contain; }
.prop-book.is-active { border-color: var(--primary); background: var(--primary-soft,#e7f1e8); }
.prop-library-reader { min-width: 0; }
.prop-library-stage { display: grid; grid-template-columns: 44px minmax(0, 1050px) 44px; align-items: center; justify-content: center; gap: 12px; min-width: 0; }
.prop-library-stage .prop-library-page-arrow { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; min-height: 44px; padding: 8px; position: sticky; top: calc(50vh - 22px); }
.prop-library-page-arrow svg { display: block; flex: 0 0 24px; }
.prop-library-page-arrow:disabled { opacity: .4; cursor: default; }
.prop-library-viewport { width: 100%; min-width: 0; max-height: 85vh; overflow: auto; }
.prop-library-viewport.is-zoomed .prop-library-sheet { width: 200%; max-width: none; }
.prop-library-page-form { display: flex; align-items: flex-end; gap: 8px; }
.prop-library-page-form .field { max-width: 105px; }
.prop-library-sheet { position: relative; width: 100%; max-width: 1050px; margin-inline: auto; background: white; }
.prop-library-sheet > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.prop-library-hotspots { position: absolute; inset: 0; }
.prop-library-sheet .prop-library-hotspot { position: absolute; padding: 0; margin: 0; min-width: 0; min-height: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; cursor: pointer; }
.prop-library-sheet .prop-library-hotspot:hover,.prop-library-sheet .prop-library-hotspot:focus-visible { background: transparent; box-shadow: none; outline: 2px solid var(--primary); outline-offset: 1px; z-index: 1; }
.prop-library-photo-hit { border: 0; }
.prop-library-sheet .prop-library-photo-hit:hover:not(:focus-visible) { outline: none; }
.prop-library-hits { display: flex; flex-wrap: wrap; gap: 8px; max-height: 240px; overflow-y: auto; margin-block: 12px; }
.prop-library-hits button { white-space: normal; text-align: left; }
.propagation-own { margin-top: 28px; }
@media(max-width: 620px) { .prop-library-books { grid-template-columns: repeat(2,minmax(0,1fr)); } .prop-book img { height: 125px; } .prop-library-stage { gap: 4px; } }
