/* FDS extensions: an outer-scrolling bulk authoring table and model comparison states. */
.fpa-v2-page .ssa-main { max-width: none; min-width: 0; }
.fpa-v2-page .ssa-body { overflow: visible; }
.fpa-v2-page { overflow: visible; }
.fpa-v2-notice { padding: 12px 16px; border: 1px solid var(--fds-border); background: var(--fds-surface-subtle, var(--fds-gray-50)); border-radius: 6px; font-size: 13px; }
.fpa-v2-toolbar, .fpa-v2-actions, .fpa-v2-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block: 12px; }
.fpa-v2-toolbar label { display: grid; gap: 4px; font-size: 12px; }
.fpa-v2-toolbar input[type=search] { min-width: 240px; }
.fpa-v2-page input[type=checkbox] { width: 16px; height: 16px; vertical-align: middle; margin-inline-end: 5px; }
.fpa-v2-toolbar label:has(input[type=checkbox]) { display: flex; align-items: center; }
.fpa-v2-summary { margin-inline-start: auto; font-size: 13px; }
.fpa-v2-table { border-collapse: separate; border-spacing: 0; min-width: 1220px; width: 100%; font-size: 13px; }
.fpa-v2-table th, .fpa-v2-table td { padding: 10px 8px; border-block-end: 1px solid var(--fds-border); vertical-align: top; text-align: start; background: var(--fds-surface, white); }
.fpa-v2-table th { position: sticky; top: var(--ssa-header, 56px); z-index: 2; background: var(--fds-gray-50); white-space: nowrap; }
.fpa-v2-table th:first-child, .fpa-v2-table td:first-child { position: sticky; inset-inline-start: 0; z-index: 1; width: 230px; }
.fpa-v2-table th:first-child { z-index: 3; }
.fpa-v2-table td:last-child, .fpa-v2-table th:last-child { position: sticky; inset-inline-end: 0; z-index: 1; min-width: 110px; }
.fpa-v2-table th:last-child { z-index: 3; }
.fpa-v2-identity { display: grid; grid-template-columns: 44px 1fr; gap: 8px; }
.fpa-v2-art { width: 44px; height: 44px; border: 1px solid var(--fds-border); border-radius: 4px; display: grid; place-items: center; overflow: hidden; background: var(--fds-gray-50); }
.fpa-v2-art svg { width: 100%; height: 100%; }
.fpa-v2-art { object-fit: contain; }
.fpa-v2-model-preview { height: 360px; min-width: 0; margin-block: 12px; }
.fpa-v2-model-preview canvas { display: block; width: 100%; height: 320px; }
.fpa-v2-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.fpa-v2-page.ssa-admin .fpa-v2-picture { width: 44px; height: 44px; padding: 0; min-width: 0; }
.fpa-v2-picture .fpa-v2-art { border: 0; }
.fpa-v2-meta { display: block; font-size: 12px; color: var(--fds-text-secondary); margin-block-start: 4px; }
.fpa-v2-names { display: grid; gap: 5px; min-width: 260px; }
.fpa-v2-table input { width: 70px; font-variant-numeric: tabular-nums; }
.fpa-v2-names input { width: 100%; }
.fpa-v2-table .fpa-v2-price { width: 90px; }
.fpa-v2-tier-summary { display: block; max-width: 200px; font-size: 12px; line-height: 1.7; }
.fpa-v2-row-actions { display: flex; gap: 8px; flex-direction: column; }
.fpa-v2-table tr.is-dirty td:first-child { box-shadow: inset 3px 0 var(--fds-orange-600, var(--fds-text-primary)); }
.fpa-v2-page [aria-invalid=true] { border-color: var(--fds-red-600) !important; }
.fpa-v2-model-size { display: block; margin-block-start: 5px; font-size: 12px; }
.fpa-v2-page .is-mismatch { border-color: var(--fds-red-600); color: var(--fds-red-700); }
.fpa-v2-dialog { width: min(800px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid var(--fds-border); border-radius: 8px; color: var(--fds-text-primary); background: var(--fds-surface, white); }
.fpa-v2-dialog::backdrop { background: rgb(0 0 0 / .45); }
.fpa-v2-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.fpa-v2-dialog h2 { font-size: 18px; margin: 0; }
.fpa-v2-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-block: 16px; }
.fpa-v2-form label { display: grid; gap: 5px; font-size: 13px; }
.fpa-v2-form .wide { grid-column: 1 / -1; }
.fpa-v2-form textarea { min-height: 90px; width: 100%; }
.fpa-v2-errors { padding: 12px 16px; background: var(--fds-red-50); color: var(--fds-red-700); }
.fpa-v2-errors:empty { display: none; }
.fpa-v2-image { width: 100%; height: min(60vh, 500px); object-fit: contain; }
.fpa-v2-history { display: grid; gap: 12px; }
.fpa-v2-history article { padding: 12px; border: 1px solid var(--fds-border); border-radius: 6px; }
.fpa-v2-history pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.fpa-v2-page [hidden] { display: none !important; }
@media (max-width: 600px) {
  .fpa-v2-dialog { padding: 16px; }
  .fpa-v2-form { grid-template-columns: minmax(0, 1fr); }
  .fpa-v2-summary { width: 100%; margin-inline-start: 0; }
}
/* FDS extension: reviewed price/specification payloads and compact permission forms. */
.fpa-v2-dialog pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.fpa-v2-dialog .fpa-v2-errors { white-space: pre-line; }
.fpa-v2-dialog fieldset { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-block: 12px; border: 1px solid var(--fds-border); }
.fpa-v2-dialog fieldset label { display: inline-flex; align-items: center; min-height: 30px; }
@media (pointer: coarse) { .fpa-v2-dialog fieldset label { min-height: 44px; } }
/* FDS extension: bounded product selection keeps publication controls within reach. */
.fpa-publication-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.fpa-publication-toolbar > label { display: grid; flex: 1 1 200px; gap: 4px; margin: 0; }
.fpa-publication-toolbar input { width: 100%; min-width: 0; }
.fpa-publication-products { max-height: min(36dvh, 320px); overflow-y: auto; overscroll-behavior: contain; border-block: 1px solid var(--fds-border); margin-block: 12px; }
.fpa-publication-dialog label.ssa-check { display: flex; align-items: center; gap: 8px; margin-block: 8px; overflow-wrap: anywhere; }
.fpa-publication-dialog [hidden] { display: none !important; }

/* Publication issue links and long component identifiers extend the scoped FAUS dialog. */
.fpa-publication-dialog .ss-publish-problems { padding-inline-start: var(--fds-space-5); }
.fpa-publication-dialog .ss-publish-problems li { overflow-wrap: anywhere; margin-block: var(--fds-space-2); }
.fpa-publication-dialog .ss-publish-problems a { display: inline-block; padding: var(--fds-space-1); }
@media (pointer: coarse) { .fpa-publication-dialog .ss-publish-problems a { min-height: 44px; align-content: center; } }

/* Changed-item publication summary extends FAUS using the existing FDS spacing and colors. */
.fpa-publication-summary { max-height: 40dvh; overflow-y: auto; overscroll-behavior: contain; }
.fpa-publication-summary-item { display: flex; gap: var(--fds-space-3); padding-block: var(--fds-space-3); border-bottom: 1px solid var(--fds-border); }
.fpa-publication-summary-item img { width: 48px; height: 48px; object-fit: contain; flex: 0 0 48px; }
.fpa-publication-summary-item > div { min-width: 0; overflow-wrap: anywhere; }
.fpa-publication-summary-item strong, .fpa-publication-summary-item span { display: block; }
.fpa-publication-summary-item span { color: var(--fds-gray-600); font-size: 12px; }
.fpa-publication-summary-item p { margin-block: var(--fds-space-1) 0; }
.fpa-publication-dialog > details { margin-block: var(--fds-space-3); }

/* Authoring publication feedback extends FDS; checks never obscure the workspace. */
.fpa-publication-status { margin-block: var(--fds-space-3); padding: var(--fds-space-3); border: 1px solid var(--fds-border); border-radius: var(--fds-radius-md); background: var(--fds-white, #fff); overflow-wrap: anywhere; }
.fpa-publication-status > p { margin-block: 0 var(--fds-space-2); }
.fpa-publication-status [hidden] { display: none !important; }

.fpa-publication-footer { position: sticky; bottom: 0; z-index: 2; background: var(--fds-white, #fff); padding-block: var(--fds-space-3); border-top: 1px solid var(--fds-border); display: flex; flex-wrap: wrap; gap: var(--fds-space-2); }
.fpa-publication-footer [data-publication-progress] { flex: 1 0 100%; margin-block: 0 var(--fds-space-2); overflow-wrap: anywhere; }
.fpa-publication-footer [data-publication-progress]:empty { display: none; }
