.process-page { display: grid; gap: 16px; width: 100%; }
.process-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 20px 22px; border: 1px solid #dce6ef; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(31,55,78,.06); }
.process-eyebrow { color: #78909c; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.process-header h1 { margin: 4px 0 6px; font-size: 27px; }
.process-client { color: #455a64; font-size: 18px; font-weight: 700; }
.process-summary { display: grid; grid-template-columns: repeat(3, minmax(140px, 1fr)); gap: 12px; min-width: min(620px, 55%); margin: 0; }
.process-summary div { padding: 10px 12px; border-radius: 6px; background: #f2f6f8; }
.process-summary dt { margin-bottom: 5px; color: #78909c; font-size: 11px; }
.process-summary dd { margin: 0; font-size: 13px; font-weight: 700; }
.process-stage { display: inline-block; padding: 3px 7px; border-radius: 12px; color: #1769aa; background: #e3f2fd; }
.process-stage-control form { display: flex; align-items: center; gap: 6px; }
.process-stage-control select { min-width: 190px; }
.process-assignee-control form { display: flex; align-items: center; gap: 6px; }
.process-assignee-control select { min-width: 190px; max-width: 240px; }
.process-client a { color: inherit; }
.customer-form-card { max-width: 980px; }
.inn-lookup { display: flex; align-items: end; gap: 10px; max-width: 520px; }
.inn-lookup .field { flex: 1; }
.lookup-message { min-height: 22px; margin: 6px 0 12px; color: #607d8b; }
.lookup-message.success { color: #287d3c; }
.lookup-message.error { color: #b42318; }
.customer-details { grid-template-columns: 170px 1fr; }
.customer-search { display: flex; gap: 8px; max-width: 620px; margin-bottom: 16px; }
.process-customer-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border: 1px solid #dce6ef; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(31,55,78,.06); }
.process-customer-label { margin-bottom: 4px; color: #78909c; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.process-customer-name { display: block; font-size: 18px; }
.process-customer-name a { color: #263b47; text-decoration: none; }
.process-customer-name a:hover { color: #1769aa; text-decoration: underline; }
.process-customer-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 7px; color: #607d8b; font-size: 13px; }
.process-customer-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.modal-open { overflow: hidden; }
.crm-modal[hidden], #customer-create-panel[hidden], #customer-select-panel[hidden] { display: none; }
.crm-side-panel[hidden] { display: none; }
.crm-side-panel { position: fixed; inset: 0; z-index: 100; }
.crm-side-panel-dialog { position: absolute; inset: 0 0 0 auto; display: flex; flex-direction: column; width: clamp(560px, 48vw, 860px); background: #fff; box-shadow: -12px 0 38px rgba(0, 0, 0, .24); }
.crm-side-panel .crm-modal-body { flex: 1; max-height: none; overflow-y: auto; }
.crm-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; }
.crm-modal-backdrop { position: absolute; inset: 0; background: rgba(10, 28, 44, .64); }
.crm-modal-dialog { position: relative; width: min(820px, 100%); max-height: calc(100vh - 48px); overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 18px 55px rgba(0, 0, 0, .28); }
.crm-modal-dialog-small { width: min(520px, 100%); }
.crm-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #dbe3e8; }
.crm-modal-header h2 { margin: 0; font-size: 20px; }
.crm-modal-close { width: 34px; height: 34px; padding: 0; border: 0; color: #607d8b; background: transparent; font-size: 26px; cursor: pointer; }
.crm-modal-body { max-height: calc(100vh - 120px); overflow-y: auto; padding: 20px; }
.customer-attach-form { display: grid; gap: 10px; margin-top: 14px; }
.embedded-inn-row { display: flex; align-items: end; gap: 10px; }
.embedded-inn-row .field { flex: 1; }
.ajax-field-errors { margin-top: 3px; color: #b42318; font-size: 12px; }
.process-compact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.process-compact-actions form { margin: 0; }
.process-compact-actions .disabled { opacity: .68; }
.process-documents-panel h3 { margin-bottom: 12px; }
.process-document-list { display: grid; gap: 8px; }
.process-document-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid #e0e7eb; border-radius: 7px; background: #f9fbfc; }
.process-document-type { display: inline-grid; place-items: center; min-width: 34px; min-height: 25px; padding: 2px 7px; border-radius: 12px; color: #1769aa; background: #e3f2fd; font-size: 11px; font-weight: 800; }
.process-document-number { color: #1769aa; font-weight: 700; text-decoration: none; }
.process-document-number:hover { text-decoration: underline; }
.process-document-meta { margin-top: 3px; color: #78909c; font-size: 12px; }
.process-finance-panel { width: auto; margin-top: 0; }
.finance-heading { align-items: flex-start; }
.payment-create { position: relative; }
.expected-payment-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.expected-payment-panel h3, .expected-payment-panel p { margin: 0 0 5px; }
.expected-payment-panel small { color: #607d8b; }
.expected-payment-form { display: flex; align-items: center; gap: 8px; }
.expected-payment-form input { min-width: 160px; }
.payment-create summary { list-style: none; cursor: pointer; }
.payment-create summary::-webkit-details-marker { display: none; }
.payment-form { position: absolute; z-index: 5; right: 0; width: 340px; margin-top: 7px; padding: 14px; border: 1px solid #dbe3e8; border-radius: 8px; background: #fff; box-shadow: 0 10px 28px rgba(25, 50, 70, .18); }
.payment-form .field { margin-bottom: 10px; }
.payment-form input, .payment-form textarea { width: 100%; }
.finance-summary { display: grid; gap: 0; max-width: 720px; margin: 15px 0; border-top: 1px solid #e3e9ed; }
.finance-summary div { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(160px, auto); gap: 18px; padding: 9px 4px; border-bottom: 1px solid #e3e9ed; }
.finance-summary dt { color: #607d8b; font-size: 13px; }
.finance-summary dd { margin: 0; color: #263b47; font-size: 14px; font-weight: 700; text-align: right; }
.payment-status { display: inline-block; padding: 4px 8px; border-radius: 12px; font-size: 12px; }
.payment-status.unpaid { color: #68757c; background: #e8edef; }
.payment-status.partial { color: #80650b; background: #fff2bd; }
.payment-status.paid { color: #24743a; background: #e5f5e9; }
.payment-status.overpaid { color: #1769aa; background: #e3f2fd; }
.transfer-purchasing-form { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.transfer-purchasing-form small, .finance-stage-note { color: #607d8b; font-size: 12px; }
.payment-history h3 { margin-bottom: 8px; }
.payment-row { display: grid; grid-template-columns: 110px 140px minmax(0, 1fr) auto; gap: 12px; padding: 9px 11px; border-top: 1px solid #e0e7eb; font-size: 13px; }
.payment-row time, .payment-row span { color: #607d8b; }
.payment-row a { color: #1769aa; white-space: nowrap; }
.payment-document-page { max-width: 900px; margin: 0 auto; }
.payment-document { padding: 36px 42px; border: 1px solid #dce4e9; border-radius: 8px; background: #fff; }
.payment-document header { padding-bottom: 20px; border-bottom: 2px solid #263b47; }
.payment-document header h1 { margin: 5px 0 8px; }
.payment-document-details { display: grid; grid-template-columns: 180px 1fr; gap: 11px 20px; margin: 28px 0; }
.payment-document-details dt { color: #607d8b; }
.payment-document-details dd { margin: 0; }
.payment-document-note { padding-top: 18px; border-top: 1px solid #dce4e9; color: #607d8b; font-size: 12px; }
.process-document-amount { white-space: nowrap; font-size: 14px; }
.process-documents-empty { margin: 0; padding: 12px; color: #78909c; background: #f5f7f8; border-radius: 6px; }
.sourcing-workspace { display: grid; gap: 12px; }
.sourcing-dashboard { display: grid; grid-template-columns: minmax(280px, 1.35fr) minmax(260px, .85fr); gap: 16px 28px; align-items: stretch; margin-bottom: 0; }
.sourcing-dashboard-primary { display: grid; align-content: center; gap: 12px; }
.sourcing-progress-title { margin: 3px 0 7px; font-size: 22px; }
.sourcing-progress-title strong { color: #1769aa; font-size: 31px; }
.sourcing-progress-bar { height: 7px; overflow: hidden; border-radius: 5px; background: #e4eaee; }
.sourcing-progress-bar span { display: block; height: 100%; border-radius: inherit; background: #3fa76a; }
.sourcing-financials { padding: 13px 15px; border: 1px solid #dce4e9; border-radius: 7px; background: #f8fafb; font-size: 12px; }
.sourcing-financials dl { display: grid; gap: 7px; margin: 10px 0 0; }
.sourcing-financials dl div { display: grid; grid-template-columns: minmax(110px, 1fr) auto; gap: 14px; }
.sourcing-financials dt { color: #607d8b; }
.sourcing-financials dd { margin: 0; color: #263b47; font-weight: 700; text-align: right; white-space: nowrap; }
.sourcing-dashboard-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sourcing-dashboard-actions form { margin: 0; }
.sourcing-quote-create-form { display: flex; align-items: end; flex-wrap: wrap; gap: 6px; }
.sourcing-quote-create-form label { display: grid; gap: 2px; color: #607d8b; font-size: 9px; }
.sourcing-quote-create-form select { width: 150px; min-height: 34px; padding: 5px 7px; font-size: 11px; }
.sourcing-create-quote { background: #2f9d62; border-color: #2f9d62; }
.sourcing-create-quote:disabled { background: #aebbc2; border-color: #aebbc2; cursor: not-allowed; }
.sourcing-quote-readiness { align-self: center; color: #607d8b; font-size: 11px; }
.sourcing-selection-error { color: #b3261e; font-size: 11px; }
.sourcing-filters { position: sticky; top: 10px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 0; padding: 11px 14px; }
.sourcing-filter-links { display: flex; flex-wrap: wrap; gap: 4px; }
.sourcing-filter-links a { padding: 6px 9px; border-radius: 5px; color: #526672; text-decoration: none; font-size: 12px; }
.sourcing-filter-links a.active { color: #fff; background: #1769aa; }
.sourcing-filter-links a span { display: inline-block; min-width: 20px; margin-left: 4px; padding: 2px 6px; border-radius: 10px; color: #40535d; background: #e6ecef; font-size: 10px; font-weight: 800; text-align: center; }
.sourcing-filter-links a.active span { color: #1769aa; background: #fff; }
.sourcing-search-form { display: flex; gap: 6px; }
.sourcing-search-form input { min-width: 240px; }
.sourcing-search-form select { width: 72px; }
.sourcing-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.sourcing-layout.has-offer-panel { grid-template-columns: minmax(460px, 1fr) minmax(480px, .95fr); }
.sourcing-list-panel { margin: 0; padding: 0; overflow: hidden; }
.sourcing-list-head, .sourcing-position-row { display: grid; grid-template-columns: 44px minmax(190px, 1.2fr) minmax(180px, 1fr) 125px; gap: 10px; align-items: center; }
.sourcing-list-head { padding: 9px 12px; color: #78909c; background: #f1f5f7; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.sourcing-position-row { min-height: 70px; padding: 9px 12px; border-top: 1px solid #e4eaed; cursor: pointer; }
.sourcing-position-row:hover, .sourcing-position-row.active { background: #f1f7fb; }
.sourcing-position-number { color: #78909c; font-weight: 700; text-align: center; }
.sourcing-position-name { display: block; color: #263b47; font-size: 13px; font-weight: 700; text-decoration: none; }
.sourcing-position-order, .sourcing-position-selection span, .sourcing-position-selection small { display: block; margin-top: 3px; color: #607d8b; font-size: 11px; }
.sourcing-position-selection strong { display: block; color: #365642; font-size: 12px; }
.sourcing-status { display: inline-block; padding: 4px 7px; border-radius: 10px; font-size: 10px; font-weight: 700; white-space: nowrap; }
.sourcing-status.selected { color: #24743a; background: #e5f5e9; }
.sourcing-status.pending { color: #7a620c; background: #fff5cf; }
.sourcing-status.empty { color: #68757c; background: #ebeff1; }
.sourcing-status.stale { color: #a64b17; background: #fff0df; }
.sourcing-pagination { display: flex; justify-content: center; gap: 12px; padding: 10px; border-top: 1px solid #e4eaed; font-size: 12px; }
.sourcing-offer-panel { position: sticky; top: 75px; align-self: start; max-height: calc(100vh - 105px); overflow-y: auto; border: 1px solid #d9e2e7; border-radius: 8px; background: #f6f9fa; box-shadow: 0 3px 13px rgba(20, 45, 70, .09); }
.sourcing-offer-header { display: flex; justify-content: space-between; gap: 12px; padding: 15px 17px; border-bottom: 1px solid #dce4e9; background: #fff; }
.sourcing-offer-header h2 { margin: 3px 0; font-size: 18px; }
.sourcing-offer-header p { margin: 0; color: #607d8b; font-size: 12px; }
.sourcing-offer-toolbar { padding: 9px 12px; border-bottom: 1px solid #dce4e9; }
.sourcing-offer-toolbar select { width: 100%; }
.sourcing-offer-list { display: grid; gap: 9px; padding: 10px; }
.sourcing-list-head, .sourcing-position-card { display: grid; grid-template-columns: minmax(180px, 1.1fr) minmax(190px, 1.15fr) minmax(75px, .45fr) 120px minmax(90px, .55fr) minmax(105px, .65fr) 95px 120px; gap: 8px; align-items: center; }
.sourcing-list-head { padding: 10px 14px; color: #78909c; background: #f1f5f7; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.sourcing-position-card { padding: 8px 14px; border-top: 1px solid #e1e8ec; background: #fff; }
.sourcing-position-card:hover { background: #fbfdfe; }
.sourcing-order strong, .sourcing-best strong { display: block; color: #263b47; font-size: 13px; }
.sourcing-order span, .sourcing-order small, .sourcing-best span, .sourcing-best small { display: block; margin-top: 3px; color: #607d8b; font-size: 11px; }
.sourcing-year, .sourcing-delivery { align-self: center; color: #3f5661; font-size: 12.5px; font-weight: 600; line-height: 1.28; overflow-wrap: break-word; text-align: center; word-break: normal; }
.sourcing-price { color: #607d8b; font-size: 11px; }
.sourcing-markup-row { display: grid; gap: 4px; }
.sourcing-price-list { display: grid; gap: 1px; }
.sourcing-price-line { display: grid; grid-template-columns: minmax(48px, 1fr) auto; gap: 5px; align-items: center; min-height: 20px; }
.sourcing-price-line > span:first-child { color: #78909c; font-size: 10px; }
.sourcing-price-value { color: #40545e; font-size: 11px; font-weight: 600; text-align: right; white-space: nowrap; }
.sourcing-price-value strong { color: #263b47; font-size: 13px; }
.sourcing-price-line.purchase-line .sourcing-price-value { color: #263b47; font-weight: 700; }
.sourcing-price-line.sale-line .sourcing-price-value { font-weight: 600; }
.sourcing-markup-control { display: inline-flex; align-items: center; justify-content: flex-end; gap: 2px; color: #607d8b; white-space: nowrap; }
.sourcing-save-markup { width: auto; min-height: 26px; padding: 3px 8px; font-size: 10px; }
.sourcing-save-state { color: #24743a; font-size: 10px; font-weight: 700; }
.sourcing-save-state.error, .sourcing-save-state:not(.saved):not(:empty) { color: #a33636; }
.sourcing-save-state.saved { color: #24743a; }
.sourcing-save-state.is-faded { opacity: .55; transition: opacity .3s ease; }
.sourcing-markup { width: 54px; padding: 3px 4px; font-size: 11px; }
.sourcing-stock { display: grid; gap: 3px; padding: 8px; border-radius: 6px; text-align: left; }
.sourcing-stock strong { display: block; font-size: 11px; }
.sourcing-stock span { font-size: 10px; }
.sourcing-stock.enough { color: #24743a; background: #e8f6eb; }
.sourcing-stock.low { color: #80650b; background: #fff2bd; }
.sourcing-stock.missing { color: #a33636; background: #fde8e8; }
.sourcing-stock.backorder { color: #765b10; background: #fff4ce; }
.sourcing-stock.pending { color: #526672; background: #eef2f4; }
.sourcing-stock .stock-caption { color: inherit; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.sourcing-stock-meta { display: grid; justify-items: start; gap: 2px; margin-top: 3px; padding-top: 4px; border-top: 1px solid currentColor; }
.offer-edit-link { display: inline-block; margin-top: 5px; padding: 0; border: 0; color: #1769aa; background: transparent; font-size: 13px; line-height: 1.25; text-decoration: none; cursor: pointer; }
.offer-edit-link:hover, .offer-edit-link:focus { color: #0b5f89; text-decoration: underline; }
.sourcing-row-status small { display: block; margin-top: 5px; color: #607d8b; font-size: 10px; }
.sourcing-row-status .offer-edit-link { display: block; }
.sourcing-row-actions { display: grid; gap: 5px; }
.sourcing-row-actions .button { width: 100%; min-height: 38px; }
.sourcing-row-actions .selected-offer, .sourcing-alternatives .selected-offer { color: #fff; background: #36a269; border-color: #36a269; opacity: 1; }
.selected-offer-status { display: block; padding: 7px 9px; border-radius: 6px; color: #24743a; background: #e5f5e9; font-size: 11px; font-weight: 700; text-align: center; }
.offer-count { color: #607d8b; font-size: 10px; text-align: center; }
.sourcing-other-link { padding: 0; border: 0; color: #1769aa; background: transparent; font-size: 11px; cursor: pointer; }
.sourcing-loading { color: #78909c; font-size: 11px; }
.sourcing-no-offers { color: #a33636; font-size: 12px; font-weight: 700; }
.sourcing-alternatives { grid-column: 1 / -1; margin: 4px -14px -10px; padding: 12px 14px 14px; border-top: 1px solid #dce5e9; background: #f7fafb; }
.sourcing-alternatives[hidden] { display: none; }
.sourcing-alternative-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.sourcing-alternative-head button { border: 0; color: #1769aa; background: transparent; cursor: pointer; }
.sourcing-alternatives table { min-width: 1020px; font-size: 11px; }
.sourcing-alternatives .offer-text-value { min-width: 86px; font-size: 12px; font-weight: 600; line-height: 1.28; overflow-wrap: break-word; text-align: center; word-break: normal; }
.sourcing-alternatives .sourcing-price { min-width: 126px; }
.sourcing-alternatives .stock-missing { background: #fde8e8; }
.external-search { grid-column: 1 / -1; margin: 4px -14px -10px; border-top: 1px solid #dce5e9; background: #f7fafb; }
.external-search-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; color: #455a64; font-size: 12px; }
.external-search-actions { display: flex; align-items: center; gap: 10px; }
.external-search-actions .button { min-height: 32px; padding: 6px 10px; }
.external-results { padding: 0 14px 14px; }
.external-results[hidden] { display: none; }
.external-results-header { margin-bottom: 10px; padding: 10px; border-radius: 6px; color: #765b10; background: #fff4ce; }
.external-results-header strong, .external-results-header span { display: block; }
.external-results-header span { margin-top: 3px; font-size: 11px; }
.external-offer-list { display: grid; gap: 8px; }
.external-offer { display: grid; grid-template-columns: minmax(235px, 1.15fr) minmax(300px, 1.45fr) minmax(210px, 1fr) minmax(150px, auto); gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid #dce5e9; border-radius: 7px; background: #fff; font-size: 11px; }
.external-offer.recommended { border-color: #9bcfac; background: #f3fbf5; box-shadow: inset 3px 0 #4b9a65; }
.external-offer strong, .external-offer span, .external-offer small { display: block; }
.external-offer small { margin-top: 4px; color: #607d8b; }
.external-offer .button { white-space: nowrap; }
.external-offer-actions { display: grid; gap: 6px; min-width: 150px; }
.external-offer-actions .button { width: 100%; }
.external-supplier-link, .external-supplier-name { display: inline-flex !important; align-items: center; gap: 5px; width: fit-content; margin-bottom: 5px; font-size: 17px; font-weight: 700; line-height: 1.2; }
.external-supplier-link { color: #1688bd; text-decoration: none; transition: color .15s ease; }
.external-supplier-link:hover { color: #0b5f89; text-decoration: underline; }
.external-supplier-link span { font-size: 14px; }
.external-supplier-name { color: #163746; }
.external-product-name { margin-bottom: 4px; color: #314f5c; font-size: 12px; }
.external-offer-facts { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 8px 12px; }
.external-offer-facts span { color: #263f49; }
.external-offer-facts b { display: block; margin-bottom: 2px; color: #78909c; font-size: 10px; font-weight: 600; text-transform: uppercase; }
.external-offer-candidate { display: grid; gap: 5px; color: #607d8b; }
.external-offer-candidate strong { color: #8a650b; font-size: 13px; }
.external-offer-quality { display: grid; gap: 4px; }
.external-recommended, .external-verified { width: fit-content; padding: 4px 7px; border-radius: 999px; color: #246b3a; background: #dff2e4; font-size: 11px; font-weight: 700; }
.external-verified { color: #176b67; background: #dff3f1; }
.external-readiness { font-size: 13px; }
.external-readiness.readiness-ready { color: #24743a; }
.external-readiness.readiness-check-stock { color: #8a650b; }
.external-readiness.readiness-request-price { color: #a45b19; }
.external-readiness.readiness-insufficient, .external-readiness.readiness-catalog, .external-readiness.readiness-search { color: #607d8b; }
.external-stars { color: #b28b31 !important; font-size: 10px; letter-spacing: .5px; opacity: .72; }
.external-analysis-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; padding: 12px; border: 1px solid #dce5e9; border-radius: 7px; background: #f7fafb; }
.external-analysis-summary div { display: grid; gap: 3px; }
.external-analysis-summary .wide { grid-column: 1 / -1; }
.external-analysis-summary span { color: #607d8b; font-size: 11px; }
.external-analysis-summary.readiness-ready { border-color: #a9d9b5; background: #eef9f1; }
.external-analysis-summary.readiness-check-stock { border-color: #ead28b; background: #fff9e8; }
.external-analysis-summary.readiness-request-price { border-color: #edbd88; background: #fff4e8; }
.external-supplier-decision { margin-bottom: 12px; }
.external-supplier-status { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; align-items: center; padding: 12px; border: 1px solid #dce5e9; border-radius: 8px; }
.external-supplier-status > span, .external-supplier-status > small { grid-column: 1; }
.external-supplier-status > strong { grid-column: 1; font-size: 17px; }
.external-supplier-status > button { grid-column: 2; grid-row: 1 / span 3; }
.external-supplier-status.existing { border-color: #a9d9b5; background: #eef9f1; }
.external-supplier-status.existing > span { color: #24743a; }
.external-supplier-status.new, .external-supplier-status.multiple { border-color: #ead28b; background: #fff9e8; }
.external-supplier-status.new > span, .external-supplier-status.multiple > span { color: #8a650b; }
.external-supplier-options { display: grid; gap: 6px; margin-top: 8px; }
.external-supplier-options[hidden] { display: none; }
.external-supplier-option { display: flex; gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid #dce5e9; border-radius: 7px; background: #fff; cursor: pointer; }
.external-supplier-option:has(input:checked) { border-color: #44a5cf; background: #eff8fc; }
.external-supplier-option span, .external-supplier-option small { display: block; }
.external-supplier-option small { margin-top: 2px; color: #607d8b; }
.external-core-fields { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 12px; }
.external-core-fields .wide { grid-column: 1 / -1; }
.external-ai-comment p { margin: 0; padding: 9px 10px; border-radius: 6px; background: #f4f7f8; color: #455f6b; }
.external-product-link-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid #dce5e9; border-radius: 7px; background: #f7fafb; }
.external-product-link-row[hidden] { display: none; }
.external-product-link-row > span { color: #607d8b; font-size: 12px; }
.external-product-link-row .button { width: auto; text-decoration: none; }
.external-data-source { padding: 8px 10px; border-radius: 6px; color: #765b10; background: #fff4ce; font-size: 12px; }
.external-new-supplier-fields { margin: 0 0 14px; padding: 12px; border: 1px solid #ead28b; border-radius: 8px; background: #fff9e8; }
.external-new-supplier-fields[hidden] { display: none; }
.external-new-supplier-fields h3 { margin: 0 0 10px; font-size: 15px; }
.external-price-input { display: flex; align-items: center; gap: 8px; }
.external-price-input input { flex: 1; }
.external-price-input span { color: #607d8b; font-weight: 700; }
.automatic-hint { color: #8a650b; }
.external-extra-fields { margin: 14px 0; border-top: 1px solid #e2eaee; }
.external-extra-fields summary { padding: 12px 0; color: #1688bd; cursor: pointer; font-weight: 600; }
.field-error { display: block; min-height: 14px; margin-top: 3px; color: #a52d22; font-size: 11px; line-height: 1.25; }
.field-invalid { border-color: #d94b3d !important; background: #fff8f7 !important; box-shadow: 0 0 0 1px rgba(217, 75, 61, .12); }
.field-group-invalid > label { color: #a52d22; }
.external-supplier-decision.field-group-invalid { padding: 8px; border: 1px solid #d94b3d; border-radius: 7px; background: #fff8f7; }
.external-supplier-decision.field-group-invalid .external-supplier-option { border-color: #d94b3d; }
.external-supplier-error:empty { display: none; }
@media (max-width: 1250px) { .external-offer { grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.3fr); } .external-offer-actions { grid-template-columns: repeat(2, auto); } }
.external-accepted { display: block; padding: 7px; border-radius: 6px; color: #24743a; background: #e5f5e9; font-weight: 700; text-align: center; }
.external-select-wrap { display: grid; gap: 5px; }
.external-select-wrap label { color: #607d8b; font-size: 10px; }
.external-select-wrap .sourcing-markup { width: 64px; }
.external-verification-note { margin-top: 0; padding: 10px; border-radius: 6px; color: #765b10; background: #fff4ce; }
.external-form-errors { margin-bottom: 12px; padding: 10px; border-radius: 6px; color: #9b2f20; background: #fde5dc; }
.external-form-errors[hidden], [data-new-supplier][hidden] { display: none; }
[data-existing-supplier] small { display: block; margin-top: 4px; color: #9a6d12; }
.external-match-exact { color: #1f7138; background: #def3e4; }
.external-match-good { color: #176b67; background: #dff3f1; }
.external-match-similar { color: #8a4c08; background: #fff0bd; }
.external-match-uncertain { color: #9b2f20; background: #fde5dc; }
.external-bulk-panel { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(180px, .7fr) minmax(220px, 1fr) auto; gap: 18px; align-items: center; padding: 14px 16px; }
.external-bulk-copy strong, .external-bulk-copy span, .external-bulk-state span, .external-bulk-state small { display: block; }
.external-bulk-copy span, .external-bulk-state small { margin-top: 4px; color: #607d8b; font-size: 11px; }
.external-bulk-progress { display: grid; grid-template-columns: 1fr 38px; gap: 8px; align-items: center; }
.external-bulk-progress > div { height: 9px; overflow: hidden; border-radius: 6px; background: #dfe7eb; }
.external-bulk-progress > div span { display: block; height: 100%; border-radius: inherit; background: #35a66f; }
.external-bulk-progress strong { font-size: 11px; }
.sourcing-match { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 7px; margin-top: 6px; }
.match-badge { display: inline-block; padding: 3px 7px; border-radius: 10px; font-size: 10px; font-weight: 700; }
.match-exact { color: #1f7138; background: #def3e4; }
.match-good { color: #176b67; background: #dff3f1; }
.match-similar { color: #8a4c08; background: #fff0bd; border: 1px solid #e9c85e; }
.match-review { color: #9b2f20; background: #fde5dc; border: 1px solid #e7aa9b; }
.match-reason { color: #607d8b; }
.match-reason-warning { color: #b42318; font-weight: 700; }
.match-warning { width: 100%; color: #a64b17; font-weight: 700; }
.supplier-offer-card { padding: 13px; border: 1px solid #dce5e0; border-left: 4px solid #4ca96b; border-radius: 7px; background: #fff; }
.supplier-offer-card.insufficient { border-left-color: #e58b2a; background: #fffaf3; }
.supplier-offer-card.no-price { border-left-color: #b8c1c6; background: #f6f7f8; }
.supplier-offer-title strong, .supplier-offer-title span { display: block; }
.supplier-offer-title span { margin-top: 3px; color: #455a64; }
.supplier-offer-card dl { display: grid; grid-template-columns: 85px 1fr; gap: 5px 9px; margin: 10px 0; font-size: 11px; }
.supplier-offer-card dt { color: #78909c; }
.supplier-offer-card dd { margin: 0; }
.supplier-offer-card form { display: flex; align-items: end; flex-wrap: wrap; gap: 8px 12px; padding-top: 9px; border-top: 1px solid #e5ebee; font-size: 12px; }
.supplier-offer-card .markup-input { width: 90px; }
.supplier-offer-card .actions { margin: 0 0 0 auto; }
.multiline-text { white-space: normal; }
.sourcing-actions-column { display: grid; align-content: center; gap: 8px; min-width: 0; }
.purchase-history-trigger { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1px 4px; width: 100%; padding: 2px 0; border: 0; color: #1769aa; background: transparent; cursor: pointer; text-align: left; }
.purchase-history-trigger:hover { color: #0f5f9b; text-decoration: underline; }
.purchase-history-trigger span { overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.purchase-history-trigger b { font-size: 16px; line-height: 12px; }
.purchase-history-trigger small { grid-column: 1 / -1; overflow: hidden; color: #78909c; font-size: 9px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.purchase-history-none { display: block; color: #8a9ba4; font-size: 10px; cursor: default; text-align: center; }
.purchase-history-panel { grid-column: 1 / -1; display: grid; gap: 8px; margin: 0 0 3px; padding: 11px 13px; border: 1px solid #dce5e9; border-radius: 7px; background: #fff; }
.purchase-history-panel[hidden] { display: none; }
.purchase-history-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.purchase-history-panel-head strong { color: #344b57; font-size: 13px; }
.purchase-history-panel-head span { color: #78909c; font-size: 10px; }
.purchase-history-table { margin: 0; font-size: 11px; }
.purchase-history-table th, .purchase-history-table td { padding: 7px 8px; }
.purchase-history-table td strong, .purchase-history-table td small { display: block; }
.purchase-history-table td small { margin-top: 2px; color: #78909c; font-size: 9px; }
.purchase-history-table a { color: #1688bd; }
.purchase-history-stale { display: block; margin-top: 2px; color: #8a4c08 !important; font-size: 9px; font-weight: 700; }
.purchase-history-empty, .purchase-history-error { margin: 0; color: #607d8b; }
.purchase-history-error { color: #a52d22; }
@media (max-width: 700px) { .process-customer-card { align-items: stretch; flex-direction: column; } .embedded-inn-row { align-items: stretch; flex-direction: column; } }
.process-tabs { display: flex; gap: 2px; overflow-x: auto; padding: 0 8px; border: 1px solid #dbe3e8; border-radius: 8px; background: #fff; }
.process-tabs a { padding: 14px 17px 12px; border-bottom: 3px solid transparent; color: #526672; text-decoration: none; white-space: nowrap; }
.process-tabs a:hover { color: #1769aa; background: #f5f8fa; }
.process-tabs a.active { border-bottom-color: #1769aa; color: #1769aa; font-weight: 700; }
.process-content { min-height: 540px; padding: 20px; border: 1px solid #dce6ef; border-radius: 14px; background: #f8fafb; box-shadow: 0 5px 18px rgba(31,55,78,.06); }
.process-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.process-section-heading h2 { margin: 0; font-size: 20px; }
.process-section-heading p { margin: 4px 0 0; color: #78909c; font-size: 13px; }
.process-info-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(360px, 1.2fr); gap: 14px; margin-bottom: 14px; }
.process-info-grid-two { grid-template-columns: minmax(420px, 1.4fr) minmax(300px, 1fr); }
.process-info-grid-three { grid-template-columns: minmax(340px, 1.45fr) minmax(245px, .9fr) minmax(245px, .9fr); align-items: stretch; }
.process-info-grid-three > .process-panel { min-width: 0; height: auto; margin-bottom: 0; }
.process-info-grid-three .process-document-list { max-height: 190px; overflow-y: auto; }
.process-panel { margin-bottom: 14px; padding: 18px; border: 1px solid #dce6ef; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(31,55,78,.045); }
.process-panel h3 { margin: 0 0 13px; font-size: 16px; }
.process-details { display: grid; grid-template-columns: 105px 1fr; gap: 8px 12px; margin: 0; }
.process-details dt { color: #78909c; }
.process-details dd { margin: 0; }
.process-source { max-height: 190px; overflow-y: auto; line-height: 1.5; }
.financial-details { display: grid; grid-template-columns: minmax(105px, 1fr) auto; gap: 8px 12px; margin: 0; }
.financial-details dt { color: #78909c; }
.financial-details dd { margin: 0; font-size: 15px; font-weight: 700; text-align: right; }
.financial-details dd:first-of-type { font-size: 13px; font-weight: 600; }
.financial-positive { color: #287d3c; }
.financial-negative { color: #b42318; }
.quote-count { margin: 13px 0 0; padding-top: 10px; border-top: 1px solid #e3e9ed; color: #78909c; font-size: 12px; }
.financial-empty { color: #607d8b; line-height: 1.45; }
.process-items-panel { margin-bottom: 0; }
.process-items-panel .table-wrap { margin-bottom: 0; }
.inquiry-items-compact { table-layout: fixed; }
.inquiry-items-compact th:first-child { width: 48px; }
.inquiry-items-compact th:nth-child(2) { width: 30%; }
.inquiry-items-compact th:last-child { width: 170px; }
.inquiry-item-row > td { vertical-align: top; }
.inquiry-item-position { color: #78909c; font-weight: 700; text-align: center; }
.inquiry-order-cell { background: #f8fafb; }
.inquiry-item-name, .inquiry-item-quantity, .inquiry-item-comment, .selected-supplier, .selected-offer-name, .selected-offer-prices, .selected-offer-comment { display: block; }
.inquiry-item-name { color: #263b47; font-size: 15px; }
.inquiry-item-quantity { margin-top: 5px; color: #607d8b; font-size: 13px; font-weight: 700; }
.inquiry-item-comment, .selected-offer-comment { margin-top: 5px; color: #78909c; font-size: 12px; }
.inquiry-selection-cell.has-selection { background: #edf8ef; }
.inquiry-selection-cell.no-selection { background: #f2f4f5; color: #78909c; }
.selected-supplier { color: #285b35; font-size: 13px; }
.selected-offer-name { margin-top: 4px; color: #344b3b; }
.selected-offer-prices { margin-top: 7px; color: #4d6554; font-size: 12px; }
.selected-offer-divider { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #cfe5d4; }
.selection-empty { display: block; padding: 7px 0; }
.inquiry-item-actions { display: grid; align-content: start; gap: 7px; }
.inquiry-item-actions form { margin: 0; }
.process-sourcing-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 150px; }
.process-progress { display: flex; align-items: baseline; gap: 10px; }
.process-progress strong { color: #1769aa; font-size: 42px; }
.process-progress span { color: #607d8b; font-size: 16px; }
.button.disabled { background: #90a4ae; cursor: default; }
.process-placeholder { display: grid; place-items: center; align-content: center; min-height: 480px; color: #78909c; text-align: center; }
.process-placeholder-icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 50%; color: #1769aa; background: #e3f2fd; font-weight: 800; letter-spacing: 3px; }
.process-placeholder h2 { margin: 0 0 8px; color: #37474f; }
.process-placeholder p { margin: 0; }
@media (max-width: 1100px) {
  .process-header { flex-direction: column; }
  .process-summary { width: 100%; min-width: 0; }
  .process-info-grid { grid-template-columns: 1fr; }
  .process-info-grid-two { grid-template-columns: 1fr; }
  .process-info-grid-three { grid-template-columns: 1fr; }
  .process-info-grid-three > .process-panel { margin-bottom: 0; }
  .sourcing-dashboard { grid-template-columns: 1fr 1fr; }
  .sourcing-financials { grid-column: 1 / -1; }
  .sourcing-layout.has-offer-panel { grid-template-columns: 1fr; }
  .sourcing-offer-panel { position: static; max-height: none; }
  .sourcing-list-panel { overflow-x: auto; }
  .sourcing-list-head, .sourcing-position-card { min-width: 1040px; }
}
@media (max-width: 700px) {
  .process-summary { grid-template-columns: 1fr; }
  .process-section-heading, .process-sourcing-summary { align-items: stretch; flex-direction: column; }
  .process-content { padding: 12px; }
  .finance-summary { max-width: none; }
  .finance-summary div { grid-template-columns: minmax(105px, 1fr) minmax(0, auto); gap: 10px; }
  .payment-form { position: fixed; right: 3vw; left: 3vw; width: auto; max-height: 75vh; overflow-y: auto; }
  .payment-row { grid-template-columns: 1fr; gap: 4px; }
  .payment-document { padding: 22px 18px; }
  .payment-document-details { grid-template-columns: 1fr; gap: 4px; }
  .inquiry-items-wrap { overflow: visible; }
  .inquiry-items-compact, .inquiry-items-compact tbody, .inquiry-items-compact tr, .inquiry-items-compact td { display: block; width: 100%; }
  .inquiry-items-compact thead { display: none; }
  .inquiry-item-row { margin-bottom: 14px; border: 1px solid #dce4e9; border-radius: 7px; overflow: hidden; }
  .inquiry-item-row > td { border: 0; }
  .inquiry-item-position { padding-bottom: 0; text-align: left; }
  .inquiry-item-position::before { content: "Позиция №"; }
  .inquiry-item-actions { padding-top: 10px; }
  .offer-results { overflow-x: auto; }
  .crm-side-panel-dialog { width: min(94vw, 680px); }
  .process-assignee-control form { align-items: stretch; flex-direction: column; }
  .process-assignee-control select { width: 100%; max-width: none; min-width: 0; }
  .process-document-item { grid-template-columns: auto minmax(0, 1fr); }
  .process-document-amount { grid-column: 2; }
  .sourcing-dashboard { grid-template-columns: 1fr; }
  .sourcing-metrics { overflow-x: auto; }
  .sourcing-filters, .sourcing-search-form { align-items: stretch; flex-direction: column; }
  .sourcing-search-form input { min-width: 0; }
  .sourcing-list-head { display: none; }
  .sourcing-position-row { grid-template-columns: 35px minmax(0, 1fr); }
  .sourcing-position-selection, .sourcing-position-row > div:last-child { grid-column: 2; }
}
.offer-edit-link { display: inline-flex; border: 0; background: none; padding: 0; color: #2563eb; font: inherit; font-size: 12px; cursor: pointer; text-decoration: underline; }
.offer-edit-link:hover { color: #1d4ed8; }
.invoice-create-card { max-width: 820px; }
.invoice-quote-options { display: grid; gap: 10px; margin: 18px 0; }
.invoice-quote-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid #dce4e9; border-radius: 8px; cursor: pointer; }
.invoice-quote-option:has(input:checked) { border-color: #2994c7; background: #f0f9fd; }
.invoice-quote-option span, .invoice-quote-option small { display: block; }
.invoice-quote-option small { margin-top: 3px; color: #78909c; }
.invoice-quote-option em { padding: 3px 7px; border-radius: 10px; color: #1769aa; background: #e3f2fd; font-size: 11px; font-style: normal; }
.invoice-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 22px; }
.process-document-actions { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; }
.purchasing-warning { margin-bottom: 14px; padding: 12px 15px; border: 1px solid #f0c36a; border-radius: 8px; color: #76510b; background: #fff8e7; }
.purchasing-panel { padding: 0; overflow: hidden; }
.purchasing-table-wrap { margin: 0; }
.purchasing-table { min-width: 1180px; }
.purchasing-table th { white-space: nowrap; }
.purchasing-table td { vertical-align: top; }
.purchasing-table td > strong, .purchasing-table td > span, .purchasing-table td > small { display: block; }
.purchasing-table td > small { margin-top: 4px; color: #64748b; }
.procurement-status { display: inline-block !important; padding: 5px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.procurement-status.required { color: #92400e; background: #fef3c7; }
.procurement-status.awaiting-date { color: #991b1b; background: #fee2e2; }
.procurement-status.completed { color: #166534; background: #dcfce7; }
.arrival-date-form { display: grid; gap: 5px; margin-top: 10px; }
.arrival-date-form label { color: #64748b; font-size: 11px; }
.arrival-date-form input { min-width: 150px; }
.button.small { padding: 6px 9px; font-size: 12px; }
.purchasing-search-progress { display: grid; grid-template-columns: minmax(220px, auto) minmax(240px, 1fr); align-items: center; gap: 14px; margin-bottom: 14px; padding: 10px 14px; border-radius: 8px; background: #eef7fc; }
.purchasing-search-progress progress { width: 100%; }
.procurement-plan, .procurement-actual { min-width: 250px; }
.procurement-summary { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-bottom: 12px; padding: 8px 12px; border-radius: 7px; color: #475569; background: #f1f5f9; font-size: 13px; }
.procurement-actual.required { background: #fffbeb; }
.procurement-actual.awaiting-date { background: #fff1f2; box-shadow: inset 3px 0 #fca5a5; }
.procurement-actual.completed { background: #f0fdf4; box-shadow: inset 3px 0 #86efac; }
.procurement-actual.awaiting-date input[type="date"], .arrival-date-form input[aria-invalid="true"] { border-color: #dc7070; background: #fffafa; }
.procurement-actual.partial, .procurement-status.partial { background: #fff7df; border-color: #e5b94f; color: #805b00; }
.procurement-selection-card { display: grid; gap: 4px; padding: 8px 0; border-bottom: 1px solid #e2e8f0; }
.procurement-selection-card:last-child { border-bottom: 0; }
.procurement-card-field { display: grid; gap: 2px; }
.procurement-card-field > span { color: #64748b; font-size: 11px; line-height: 1.25; }
.procurement-card-field > strong { color: #172033; font-size: 13px; line-height: 1.35; }
.procurement-card-product { color: #172033; font-size: 14px; font-weight: 600; line-height: 1.35; margin: 2px 0 5px; }
.procurement-selection-card .offer-edit-link { justify-self: start; margin-top: 4px; }
.supplier-invoice-items .invoice-group-plan, .supplier-invoice-items .invoice-cell-plan { background: #f6f8fb; }
.supplier-invoice-items .invoice-group-actual, .supplier-invoice-items .invoice-cell-actual { background: #f4f9f8; }
.supplier-invoice-items .invoice-group-plan, .supplier-invoice-items .invoice-group-actual { color: #475569; letter-spacing: .04em; }
.supplier-invoice-items input { min-width: 110px; }
.supplier-invoice-items .invoice-col-check { width: 36px; }
.supplier-invoice-items .invoice-col-name { width: 42%; }
.supplier-invoice-items .invoice-col-compact { width: 10%; }
.supplier-invoice-items .invoice-col-price { width: 15%; }
.supplier-invoice-items .invoice-col-year { width: 10%; }
.supplier-invoice-items .invoice-col-date { width: 13%; }
.supplier-invoice-items td small { display: block; margin-top: 4px; }
.procurement-date-hint { color: #b42318; font-size: 12px; }
.procurement-date-hint[hidden] { display: none; }
.arrival-save-state { min-height: 16px; color: #64748b; font-size: 12px; }
.procurement-plan > *, .procurement-actual > * { display: block; margin-bottom: 4px; }
.procurement-offers-row > td { padding: 0 !important; background: #f8fafc; }
.procurement-offers-panel { padding: 16px; }
.procurement-offers-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.procurement-offers-heading > div, .procurement-offer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.procurement-offers-list { display: grid; gap: 8px; }
.procurement-offer-card { display: grid; grid-template-columns: minmax(260px, 1.4fr) minmax(220px, 1fr) auto; gap: 16px; align-items: center; padding: 12px; border: 1px solid #dbe4ea; border-radius: 8px; background: #fff; }
.procurement-offer-card strong, .procurement-offer-card span, .procurement-offer-card small { display: block; margin-bottom: 3px; }
.procurement-inline-offer-form { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; align-items: end; margin-bottom: 14px; padding: 12px; border: 1px solid #93c5fd; border-radius: 8px; background: #eff6ff; }
.procurement-inline-offer-form > strong { grid-column: 1 / -1; }
.procurement-inline-offer-form label { display: grid; gap: 4px; color: #475569; font-size: 12px; }
.procurement-inline-offer-form .procurement-input-error { border-color: #dc2626; background: #fff7f7; }
.procurement-inline-offer-form .procurement-field-error { color: #b91c1c; font-size: 12px; line-height: 1.25; }
.procurement-duplicate-warning { grid-column: 1 / -1; display: grid; gap: 6px; padding: 10px; border: 1px solid #f59e0b; border-radius: 7px; background: #fffbeb; color: #78350f; }
.procurement-duplicate-warning > div { display: flex; flex-wrap: wrap; gap: 12px; }
.procurement-offer-highlight { outline: 2px solid #2563eb; outline-offset: 2px; background: #eff6ff; }
.approval-comparison { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.approval-comparison > div { padding: 12px; border: 1px solid #e2e8f0; border-radius: 8px; background: #f8fafc; }
.approval-line.has-difference { border-color: #fbbf24; background: #fffbeb; }
.approval-comparison .difference { color: #a16207; font-weight: 700; }
.approval-actions { display: flex; align-items: end; gap: 16px; margin: 16px 0; }
.approval-actions form { display: flex; align-items: end; gap: 10px; }
.workflow-history { display: grid; gap: 10px; }
.workflow-history article { display: grid; grid-template-columns: 140px 180px 1fr; gap: 10px; padding: 10px; border-bottom: 1px solid #e2e8f0; }
@media (max-width: 1000px) { .approval-comparison { grid-template-columns: 1fr; } }
.supplier-invoices-panel { margin-bottom: 14px; padding: 14px; border: 1px solid #dbe4ea; border-radius: 8px; background: #fff; }
.supplier-invoices-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.supplier-invoices-heading h3 { margin: 0 0 8px; }
.supplier-invoices-heading small { display: block; max-width: 260px; margin-top: 5px; color: #64748b; }
.supplier-invoice-list { display: grid; gap: 8px; margin-top: 12px; }
.supplier-invoice-list article { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto minmax(160px, auto) auto; align-items: center; gap: 12px; padding: 10px; border-radius: 7px; background: #f8fafc; }
.supplier-invoice-list article small, .supplier-invoice-list article a { display: block; }
.procurement-status.cancelled { color: #475569; background: #e2e8f0; }

.document-revision-history { width: 100%; padding-top: 8px; border-top: 1px solid #e2e8f0; }
.document-revision-history summary { color: #2563eb; cursor: pointer; }
.document-revision-history a { display: block; margin-top: 6px; font-size: 13px; }
.row-warning { background: #fff7ed; }

.invoice-reissue-page { max-width: 1100px; margin: 0 auto; }
.invoice-reissue-page .page-heading { margin-bottom: 14px; }
.invoice-reissue-summary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0 0 18px; }
.invoice-reissue-summary > div { padding: 10px 12px; border: 1px solid #e2e8f0; border-radius: 9px; background: #fff; }
.invoice-reissue-summary dt { margin-bottom: 4px; color: #64748b; font-size: 12px; }
.invoice-reissue-summary dd { margin: 0; color: #0f172a; font-size: 15px; font-weight: 700; }
.invoice-reissue-summary small { display: block; margin-top: 3px; color: #b45309; font-weight: 500; }
.invoice-reissue-intro { margin-bottom: 12px; }
.invoice-reissue-intro h2 { margin: 0 0 3px; font-size: 18px; }
.invoice-reissue-intro p { margin: 0; color: #64748b; }
.invoice-reissue-form { margin: 0; }
.invoice-number-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.invoice-number-option { position: relative; display: flex; min-height: 178px; padding: 18px; gap: 14px; border: 2px solid #cbd5e1; border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.invoice-number-option:hover { border-color: #60a5fa; background: #f8fbff; }
.invoice-number-option:has(input:checked) { border-color: #2563eb; background: #eff6ff; box-shadow: 0 0 0 3px rgba(37, 99, 235, .1); }
.invoice-number-option input { flex: 0 0 auto; width: 23px; height: 23px; margin: 1px 0 0; accent-color: #2563eb; }
.invoice-number-option-body { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; color: #334155; }
.invoice-number-option-title { color: #0f172a; font-size: 16px; font-weight: 800; text-transform: uppercase; }
.invoice-number-option-body strong { color: #1d4ed8; font-size: 25px; line-height: 1.1; }
.invoice-number-option-body small { color: #64748b; font-size: 13px; }
.invoice-reissue-actions { margin-top: 16px; }
@media (max-width: 1050px) {
  .invoice-reissue-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .invoice-number-options, .invoice-reissue-summary { grid-template-columns: 1fr; }
}
.supplier-invoice-form .card { margin-bottom: 14px; }
.supplier-invoice-form table input { min-width: 105px; max-width: 190px; }
.supplier-invoice-preview { margin: 12px 0; padding: 12px; border-radius: 7px; background: #f1f5f9; }
.invoice-totals { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; max-width: 360px; margin-left: auto; }
.invoice-totals dd { margin: 0; font-weight: 700; }
@media (max-width: 700px) { .invoice-info-grid { grid-template-columns: 1fr; } .invoice-quote-option { grid-template-columns: auto minmax(0, 1fr); } .invoice-quote-option b, .invoice-quote-option em { grid-column: 2; } }
.offer-source-label { color: #64748b; }
.manual-offer-button { border-color: #7c3aed; color: #6d28d9; }
.offer-work-dialog { width: min(860px, calc(100vw - 40px)); }
.offer-work-item { display: grid; gap: 4px; padding: 12px 14px; margin-bottom: 16px; border-radius: 10px; background: #f1f5f9; }
.offer-work-item span, .offer-work-item small, .offer-source-note { color: #64748b; }
.offer-work-dialog .field [aria-invalid="true"] { border-color: #dc2626; background: #fff7f7; }
.offer-work-dialog .field-error { display: block; min-height: 18px; color: #b91c1c; font-size: 12px; }
.offer-work-dialog .external-form-errors { margin-bottom: 12px; padding: 10px 12px; border-radius: 8px; color: #991b1b; background: #fee2e2; }
@media print { .sidebar, .no-print { display: none !important; } .workspace { margin: 0; } .workspace-content { padding: 0; } .payment-document { border: 0; } }
.sourcing-run-progress { margin-top:10px; }
.sourcing-run-progress-track { height:8px; overflow:hidden; border-radius:999px; background:#dce5ee; margin-bottom:7px; }
.sourcing-run-progress-track span { display:block; height:100%; border-radius:inherit; background:#2b7bbb; transition:width .2s ease; }
.sourcing-stop { margin-left:6px; color:#9a3412; }
.local-offer-search { width:100%; margin-top:8px; white-space:normal; }
.sourcing-position-card > .external-search:not(.workspace-form-bridge),
.sourcing-actions-column > .local-offer-search { display:none !important; }
.sourcing-offers-link { color:#1769aa; font-size:13px; font-weight:600; line-height:1.25; text-decoration:none; }
.sourcing-offers-link:hover { color:#0e4f86; text-decoration:underline; }
.approval-arrival-date { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; border:1px solid #bfdbfe; border-radius:8px; background:#eff6ff; }
.approval-arrival-date span { color:#475569; }
.approval-arrival-date strong { color:#0f4c81; font-size:17px; }
.customer-import-upload { max-width:760px; }
.customer-import-upload form { display:grid; gap:18px; }
.import-summary-grid { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:10px; margin-bottom:14px; }
.import-summary-grid > div { padding:14px; border:1px solid #dbe4ee; border-radius:9px; background:#fff; }
.import-summary-grid span { display:block; color:#64748b; font-size:12px; }
.import-summary-grid strong { display:block; margin-top:5px; color:#172b4d; font-size:24px; }
.import-summary-grid .new { border-top:3px solid #22a06b; }
.import-summary-grid .update { border-top:3px solid #2684ff; }
.import-summary-grid .review { border-top:3px solid #e2a400; }
.import-summary-grid .error { border-top:3px solid #de350b; }
.import-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.import-filters a { padding:7px 11px; border:1px solid #cbd5e1; border-radius:7px; color:#31577a; text-decoration:none; background:#fff; }
.import-filters a.active { border-color:#2684ff; color:#0757a6; background:#eaf3ff; font-weight:700; }
.import-preview-table td { vertical-align:top; }
.import-preview-table td small { display:block; margin-top:3px; color:#64748b; }
.import-status { display:inline-block; font-weight:700; }
.import-status.new { color:#16875d; }
.import-status.update { color:#0c66e4; }
.import-status.unchanged { color:#64748b; }
.import-status.review { color:#9a6700; }
.import-status.error { color:#c9372c; }
.import-changes { margin-top:7px; }
.import-changes summary { color:#0c66e4; cursor:pointer; }
.import-changes div { display:grid; gap:2px; margin-top:7px; padding:7px; border-radius:6px; background:#f6f8fa; }
.import-confirm-actions { margin-top:14px; }
@media (max-width:1100px) { .import-summary-grid { grid-template-columns:repeat(3,1fr); } }
.offer-workspace-page { display:grid; gap:16px; }
.offer-workspace-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.offer-position-summary { display:grid; grid-template-columns:2fr repeat(5,minmax(120px,1fr)); gap:16px; border-left:4px solid #94a3b8; }
.offer-position-summary.status-partial { border-left-color:#d6a314; }
.offer-position-summary.status-complete { border-left-color:#2f9e62; }
.offer-position-summary > div { display:grid; gap:5px; }
.offer-position-summary span { color:#64748b; font-size:12px; }
.offer-list-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; margin-bottom:16px; }
.weighted-price { display:grid; min-width:240px; text-align:right; font-variant-numeric:tabular-nums; }
.offer-unified-table td { vertical-align:top; }
.offer-unified-table td > strong,.offer-unified-table td > small { display:block; }
.source-badge { display:inline-block; padding:3px 7px; margin-bottom:5px; border-radius:999px; background:#e8f1f8; color:#23618d; font-size:11px; }
.source-badge.internet { background:#eee9fb; color:#6d3fb0; }
.offer-selected { background:#f2fbf6; }
.offer-quantity-form { display:grid; grid-template-columns:minmax(90px,1fr) minmax(80px,.7fr); gap:6px; min-width:270px; }
.offer-quantity-form label { display:grid; gap:3px; font-size:11px; color:#64748b; }
.offer-quantity-form .button { grid-column:1/-1; }
.link-button { border:0; background:none; color:#2563a9; padding:5px 0; cursor:pointer; }
.link-button.danger { color:#b42318; }
@media(max-width:1000px){.offer-position-summary{grid-template-columns:repeat(3,1fr)}.offer-list-heading{display:grid}.weighted-price{text-align:left}}
.sourcing-stop[hidden], [data-external-stop][hidden], [data-bulk-stop][hidden],
[data-local-sourcing-progress][hidden] { display:none !important; }
