.pm-workspace { min-width: 0; }
.pm-ack { display: flex; align-items: start; gap: 8px; margin: 14px 0; font-size: 12px; color: #435777; }
.pm-ack input { flex: 0 0 auto; }
.dev-dialog[data-view="pm-flow"] { width: min(980px, calc(100vw - 32px)); max-width: 980px; }
.pm-workspace .dev-heading { margin-bottom: 12px; }
.pm-workspace small, .pm-detail small { display: block; margin-top: 4px; color: #7c8b9e; font-size: 11px; overflow-wrap: anywhere; }
.pm-filters { flex-wrap: wrap; align-items: end; gap: 10px; }
.pm-filter-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.pm-filters .dev-field { margin: 0; min-width: 110px; }
.pm-filters input[type="date"] { border: 1px solid #d9dfe9; border-radius: 3px; padding: 4px 6px; min-height: 28px; color: #435777; background: #fff; font-size: 12px; }
.pm-list-heading { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 8px 10px; background: #fff; border: 1px solid #e2eaf7; border-bottom: 0; color: #314d6f; font-size: 13px; }
.pm-workspace .dev-table { min-width: 860px; table-layout: fixed; }
.pm-workspace .dev-table th:first-child { width: 180px; }
.pm-workspace .dev-table th:last-child { width: 190px; }
.pm-workspace .dev-table td { white-space: normal; overflow-wrap: anywhere; vertical-align: top; }
.pm-workspace .dev-table .dev-button { margin: 2px 3px; }
.pm-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 12px 0; font-size: 12px; }
.dev-dialog[data-view="pm-editor"], .dev-dialog[data-view="pm-detail"] { width: min(980px, calc(100vw - 32px)); max-width: 980px; }
.pm-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; }
.pm-form-grid .dev-field { min-width: 0; margin-top: 8px; }
.pm-form-grid input, .pm-form-grid select { width: 100%; min-width: 0; }
.pm-lines { display: grid; gap: 12px; }
.pm-quote-item, .pm-reference-picks { border: 1px solid #dce4ee; min-width: 0; padding: 10px 12px; }
.pm-quote-item legend, .pm-reference-picks legend { padding: 0 5px; color: #385a7c; font-size: 12px; }
.pm-reference-picks label { display: flex; gap: 7px; align-items: start; margin: 10px 0; font-size: 12px; overflow-wrap: anywhere; }
.pm-tier { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 32px; gap: 10px; align-items: end; }
.pm-tier input { width: 100%; min-width: 0; }
.pm-tier .dev-button { padding: 6px; min-height: 32px; }
.pm-detail .dev-table td { white-space: normal; overflow-wrap: anywhere; }
.pm-trend { padding: 12px 0; margin: 14px 0; border-top: 1px solid #dce4ee; color: #456478; font-size: 12px; }
#dev-content .pm-trend svg { display: block; width: 100%; height: 180px; }
@media (max-width: 760px) { .pm-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pm-filters > input[type="search"] { width: 100%; } }
@media (max-width: 520px) { .pm-form-grid { grid-template-columns: minmax(0, 1fr); } .pm-tier { grid-template-columns: minmax(0, 1fr); } }
.dev-dialog[data-view="pm-editor"]:has(.pm-edit-grid) { width: min(1380px, calc(100vw - 24px)); max-width: 1380px; }
.pm-quote-header { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pm-grid-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.pm-grid-defaults { display: grid; grid-template-columns: 120px 140px minmax(180px, 1fr) auto; align-items: end; gap: 10px; border-top: 1px solid #e2eaf7; margin-top: 12px; padding-top: 6px; }
.pm-grid-defaults .dev-field, .pm-grid-tools .dev-field { margin: 0; }
.pm-grid-scroll { overflow: auto; max-height: min(540px, 55vh); border: 1px solid #dce4ee; }
.pm-edit-grid { width: 100%; min-width: 1120px; border-collapse: collapse; table-layout: fixed; background: #fff; font-size: 12px; }
.pm-edit-grid th { position: sticky; top: 0; z-index: 1; background: #e8eefb; color: #314d6f; }
.pm-edit-grid th, .pm-edit-grid td { border: 1px solid #e2eaf7; padding: 5px; text-align: left; vertical-align: top; }
.pm-edit-grid th:first-child { width: 38px; }
.pm-edit-grid th:nth-child(2) { width: 190px; }
.pm-edit-grid th:nth-child(3) { width: 180px; }
.pm-edit-grid th:nth-child(4), .pm-edit-grid th:nth-child(6) { width: 82px; }
.pm-edit-grid th:nth-child(5) { width: 100px; }
.pm-edit-grid th:last-child { width: 88px; }
.pm-edit-grid input { display: block; width: 100%; min-width: 0; padding: 6px; min-height: 30px; border: 1px solid #ccd6e6; border-radius: 3px; font: inherit; color: #314d6f; }
.pm-edit-grid input:focus { outline: 2px solid #a9c5ff; outline-offset: -1px; }
.pm-edit-grid input[readonly] { background: #f4f6f8; }
.pm-edit-grid small { display: block; margin-top: 4px; overflow-wrap: anywhere; color: #728096; }
.pm-edit-grid .dev-button { padding: 4px; margin: 0 2px 3px 0; min-width: 28px; }
.pm-cell-error { background: #fff6f4; }
.pm-cell-error input { border-color: #c86450; }
.pm-cell-message, .pm-edit-grid .pm-cell-message { color: #a94737; font-size: 12px; overflow-wrap: anywhere; }
.pm-grid-errors { padding: 5px 10px; border-left: 3px solid #c86450; background: #fff6f4; color: #a94737; }
.pm-grid-errors p { margin: 5px 0; }
.pm-grid-tiers { max-width: 760px; }
.pm-grid-pick, .pm-bulk-panel { border-top: 1px solid #dce4ee; padding: 12px 0; margin-bottom: 12px; }
.pm-grid-pick-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; max-height: 220px; overflow: auto; margin-top: 10px; }
.pm-grid-pick-list label { display: flex; align-items: start; gap: 7px; overflow-wrap: anywhere; }
.pm-grid-pick-list input { flex: none; margin-top: 4px; }
.pm-bulk-mapping { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 8px 0; }
.pm-bulk-mapping .dev-field { min-width: 0; margin: 0; }
.pm-bulk-mapping select { width: 100%; min-width: 0; }
.pm-bulk-panel input[type="file"] { width: 100%; min-width: 0; }
.pm-bulk-preview { max-height: 240px; overflow: auto; margin: 10px 0; }
.pm-bulk-warning { color: #8a5e25; }
.pm-quote-mode { display: inline-flex; gap: 0; border: 1px solid #cad7eb; border-radius: 3px; margin-bottom: 10px; background: #fff; }
.pm-quote-mode label { display: flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; cursor: pointer; }
.pm-quote-mode label:has(input:checked) { background: #e9f0ff; color: #2865d8; }
@media (max-width: 1000px) { .pm-quote-header { grid-template-columns: repeat(3, minmax(0, 1fr)); } .pm-grid-defaults { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pm-bulk-mapping { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pm-quote-header, .pm-grid-defaults, .pm-bulk-mapping, .pm-grid-pick-list { grid-template-columns: minmax(0, 1fr); } }
