:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #172033;
  background: #f4f6f9;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-width: 0; background: #f4f6f9; }
.price-order-workspace-root-review, .price-order-workspace-page-review { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
a { color: inherit; }
button { font: inherit; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 14px; border: 1px solid transparent; border-radius: 8px; font: inherit; font-weight: 650; text-decoration: none; cursor: pointer; }
.button.primary { color: #fff; background: #2d66d2; }
.button.secondary { color: #234477; border-color: #bfcce0; background: #fff; }
.button.danger { color: #fff; background: #a52b2b; }
.button.creation { color: #4f3300; border-color: #d99b00; background: #fff1b8; }
.button:disabled { cursor: wait; opacity: .58; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.workspace { min-height: 100vh; display: grid; grid-template-columns: 224px minmax(0, 1fr); }
.sidebar { padding: 24px 18px; color: #eef4ff; background: #17233d; display: flex; flex-direction: column; gap: 28px; }
.sidebar-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sidebar-panel { min-height: 0; flex: 1 1 auto; display: flex; flex-direction: column; gap: 28px; }
.brand { display: grid; gap: 4px; }
.brand strong { font-size: 18px; letter-spacing: .01em; }
.brand span { color: #9eabc2; font-size: 12px; }
.menu-toggle { display: none; }
.nav { display: grid; gap: 20px; }
.nav-group { display: grid; gap: 6px; }
.nav-group-title { padding: 0 12px; color: #b5c1d8; font-size: 11px; font-weight: 650; }
.nav-group-links { display: grid; gap: 8px; }
.nav a { padding: 11px 12px; border-radius: 8px; text-decoration: none; }
.nav a[aria-current="page"] { background: #2d66d2; font-weight: 650; }
.account { margin-top: auto; display: grid; gap: 10px; font-size: 13px; }
.account-name { color: #cbd5e7; overflow-wrap: anywhere; }
.account a, .account button { color: #eef4ff; background: transparent; border: 0; padding: 0; text-align: left; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.workspace a:focus-visible, .workspace button:focus-visible, .workspace input:focus-visible, .workspace select:focus-visible, .workspace textarea:focus-visible { outline: 3px solid #78a9ff; outline-offset: 3px; }
.content { min-width: 0; padding: 24px 30px 48px; }
.topbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; border-bottom: 1px solid #dce1e9; }
.topbar-compact { justify-content: flex-start; }
.topbar-order { align-items: flex-start; flex-direction: column; justify-content: flex-start; padding-bottom: 14px; }
.topbar-title { min-width: 0; display: flex; align-items: center; gap: 12px; }
.topbar h1 { margin: 0; font-size: 24px; overflow-wrap: anywhere; }
.topbar-controls { min-width: 0; display: flex; align-items: end; justify-content: flex-start; flex-wrap: wrap; gap: 10px; }
.topbar-controls .button { min-height: 40px; }
.workspace-date-field { min-width: 172px; }
.workspace-date-field > span { white-space: nowrap; }
.workspace-date-field input[type="date"] { width: 100%; }
.operator { color: #657086; font-size: 13px; }
.panel { margin-top: 24px; padding: 24px; border: 1px solid #dfe4ec; border-radius: 12px; background: #fff; box-shadow: 0 4px 18px rgba(23, 32, 51, .05); }
.panel h2 { margin: 0 0 8px; font-size: 18px; }
.panel p { margin: 0; color: #657086; line-height: 1.55; }
.notice { margin-top: 18px; padding: 12px 14px; border-radius: 8px; background: #edf3ff; color: #234477; }
.notice.error { color: #842727; background: #fff0f0; }
.workspace-filters-panel { display: grid; gap: 12px; padding: 14px; border: 1px solid #dfe6f2; border-radius: 10px; background: #f8fbff; }
.catalog-toolbar, .list-heading, .toolbar-actions, .search-form, .pagination, .dialog-heading, .dialog-actions, .sticky-actions { display: flex; align-items: center; gap: 12px; }
.catalog-toolbar, .list-heading, .dialog-heading { justify-content: space-between; }
.catalog-toolbar { position: sticky; top: 0; z-index: 3; }
.toolbar-actions { flex-wrap: wrap; }
.list-heading > .toolbar-actions { flex: 0 0 auto; }
.search-form input { width: min(360px, 45vw); }
.field { display: grid; gap: 6px; color: #465168; font-size: 13px; }
.field input, .search-form input { min-height: 40px; padding: 8px 10px; color: #172033; border: 1px solid #cbd3df; border-radius: 7px; background: #fff; }
.field select, .field textarea { width: 100%; min-height: 40px; padding: 8px 10px; color: #172033; border: 1px solid #cbd3df; border-radius: 7px; background: #fff; font: inherit; }
.field textarea { resize: vertical; min-height: 136px; }
.field-help { margin: 0; color: #657086; font-size: 13px; }
.checkbox-line { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; color: #172033; }
.checkbox-line input { width: 16px; height: 16px; margin: 0; accent-color: #2d66d2; }
.login-page { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: 24px 16px; }
.login-shell.panel { width: min(100%, 420px); min-width: 0; margin: 0; padding: 0; overflow: hidden; }
.login-brand { padding: 24px; color: #eef4ff; background: #17233d; }
.login-content { padding: 24px; }
.login-content h1 { margin: 0 0 8px; font-size: 24px; }
.login-content > p { font-size: 14px; }
.login-form { display: grid; gap: 18px; margin-top: 24px; }
.login-form .field { min-width: 0; font-weight: 650; }
.login-form input { width: 100%; min-width: 0; min-height: 44px; font: inherit; font-size: 16px; font-weight: 400; }
.login-form .button { min-height: 44px; }
.login-form input:focus-visible, .login-form button:focus-visible { outline: 3px solid #78a9ff; outline-offset: 3px; }
.login-form .button:hover { background: #234477; }
.login-shell .notice { line-height: 1.5; overflow-wrap: anywhere; }
.login-content .login-note { margin-top: 24px; padding-top: 18px; border-top: 1px solid #dfe4ec; font-size: 13px; }
.account-page { min-height: 100vh; min-height: 100dvh; padding: 24px 16px 48px; color: #172033; background: #f4f6f9; }
.account-shell { width: 100%; max-width: 1120px; margin: 0 auto; }
.account-shell-narrow { max-width: 520px; min-height: calc(100dvh - 72px); display: grid; align-content: center; gap: 16px; }
.account-shell-wide { display: grid; gap: 18px; }
.account-shell-wide > * { min-width: 0; }
.account-page .panel { min-width: 0; margin-top: 0; }
.account-hero { padding: 0; overflow: hidden; }
.account-hero-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 24px; color: #eef4ff; background: #17233d; }
.account-hero-head .button.secondary { flex: 0 0 auto; color: #eef4ff; border-color: rgba(238, 244, 255, .34); background: rgba(255, 255, 255, .08); }
.account-hero-head .button.secondary:hover { color: #fff; border-color: rgba(238, 244, 255, .58); background: rgba(255, 255, 255, .14); }
.account-hero-copy { padding: 24px; }
.account-hero-copy h1 { margin: 0; font-size: 24px; overflow-wrap: anywhere; }
.account-hero-copy p { margin-top: 8px; }
.account-form { gap: 16px; margin-top: 0; }
.account-form .field { font-weight: 650; }
.account-form .button { width: 100%; min-height: 44px; }
.account-note { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid #dfe4ec; color: #657086; font-size: 13px; line-height: 1.45; }
.account-notice { margin-top: 16px; overflow-wrap: anywhere; }
.account-section-heading { display: grid; gap: 4px; }
.account-section-heading h2 { margin: 0; font-size: 18px; }
.account-section-heading p { margin: 0; color: #657086; font-size: 13px; }
.account-page .inline-form { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; margin: 0; }
.account-page .account-create-form { margin-top: 16px; }
.account-create-form .field { flex: 1 1 220px; min-width: 0; }
.account-create-form .button { flex: 0 0 auto; min-height: 40px; }
.account-users-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.account-users-table th, .account-users-table td { vertical-align: top; }
.account-users-table .actions-cell { width: 34%; min-width: 320px; }
.account-page .actions-stack { display: grid; gap: 8px; }
.account-row-form { align-items: center; }
.account-reset-field { flex: 1 1 180px; min-width: 180px; }
.account-reset-field input { width: 100%; }
.account-page .button.small { min-height: 32px; padding: 5px 9px; font-size: 12px; }
.account-page .button:disabled { cursor: not-allowed; opacity: .58; }
.account-page a:focus-visible, .account-page button:focus-visible, .account-page input:focus-visible { outline: 3px solid #78a9ff; outline-offset: 3px; }
@media (max-width: 700px) {
  .account-page { padding: 14px 10px 32px; }
  .account-shell-narrow { min-height: calc(100dvh - 46px); }
  .account-shell-wide { gap: 14px; }
  .account-hero-head { align-items: stretch; flex-direction: column; padding: 18px 16px; }
  .account-hero-head .button.secondary { justify-content: center; width: 100%; }
  .account-hero-copy { padding: 18px 16px; }
  .account-hero-copy h1 { font-size: 22px; }
  .account-page .account-section, .account-page .account-card { padding: 16px; }
  .account-create-form { align-items: stretch; flex-direction: column; }
  .account-create-form .field { flex-basis: auto; width: 100%; }
  .account-create-form .button { width: 100%; }
}
.prices-upload-form { display: grid; gap: 14px; margin-top: 16px; max-width: 760px; }
.prices-source-or { color: #657086; font-size: 13px; text-align: center; }
.prices-filter-form { display: grid; grid-template-columns: repeat(2, minmax(150px, .7fr)) auto; align-items: end; gap: 12px; }
.prices-supplier-filter { min-width: 220px; }
.workspace-prices { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-prices .sidebar { min-height: 0; overflow-y: auto; }
.workspace-prices .content { display: flex; flex-direction: column; min-height: 0; padding-bottom: 12px; }
.workspace-prices .topbar { flex: 0 0 auto; align-items: stretch; flex-direction: column; justify-content: flex-start; padding-bottom: 12px; }
.workspace-prices .topbar-title { align-items: flex-start; }
.workspace-prices .topbar-controls { align-items: end; }
.workspace-prices .topbar-controls .prices-date-field { width: 232px; min-width: 232px; }
.workspace-prices .topbar-controls .button, .workspace-prices .topbar-controls .field select { min-height: 38px; }
.workspace-prices .prices-history-panel { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin-top: 12px; padding: 14px; }
.workspace-prices .prices-history-panel > .notice { flex: 0 0 auto; margin-top: 0; }
.workspace-prices .prices-upload-jobs { flex: 0 1 auto; max-height: min(240px, 30vh); overflow-y: auto; overscroll-behavior: contain; }
.workspace-prices .prices-history-scroll { flex: 1 1 auto; min-height: 0; max-width: 100%; margin-top: 10px; overflow: auto; overscroll-behavior: contain; border: 1px solid #dfe4ec; border-radius: 9px; }
.workspace-prices .prices-table-scroll { min-width: 0; width: 100%; max-width: 100%; margin-top: 0; overflow: visible; border: 0; border-radius: 0; }
.workspace-orders { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-orders .sidebar { min-height: 0; overflow-y: auto; }
.workspace-orders .content { display: flex; flex-direction: column; min-height: 0; height: 100vh; height: 100dvh; overflow: hidden; padding-bottom: 12px; }
.workspace-orders .topbar { flex: 0 0 auto; padding-bottom: 12px; }
.workspace-orders .orders-history-panel { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin-top: 12px; padding: 14px; }
.workspace-orders .orders-history-panel > .notice { flex: 0 0 auto; margin-top: 10px; }
.workspace-orders .orders-history-scroll { flex: 1 1 auto; min-height: 0; max-width: 100%; margin-top: 10px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 1px solid #dfe4ec; border-radius: 9px; }
.workspace-orders .orders-table-scroll { min-width: 0; width: 100%; max-width: 100%; margin-top: 0; overflow: visible; border: 0; border-radius: 0; }
.prices-table { min-width: 860px; table-layout: fixed; }
.prices-table th:nth-child(1) { width: 7%; }
.prices-table th:nth-child(2) { width: 8%; }
.prices-table th:nth-child(3) { width: 23%; }
.prices-table th:nth-child(4) { width: 18%; }
.prices-table th:nth-child(5) { width: 12%; }
.prices-table th:nth-child(6) { width: 16%; }
.prices-table th:nth-child(7) { width: 16%; }
.prices-table th, .prices-table td { padding: 8px 7px; overflow-wrap: anywhere; }
.prices-table td:nth-child(1), .prices-table td:nth-child(2), .prices-table td:nth-child(5) { white-space: nowrap; overflow-wrap: normal; }
.prices-feed-number { padding: 0; border: 0; color: #285da9; background: transparent; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.prices-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 5px; min-width: 0; }
.prices-actions .button { min-height: 30px; padding: 5px 8px; font-size: 12px; line-height: 1.2; white-space: nowrap; }
.prices-detail-actions { flex-wrap: wrap; margin-top: 14px; }
.prices-progress-button { display: grid; grid-template-columns: minmax(80px, 1fr) 42px; align-items: center; gap: 8px; width: 100%; min-height: 30px; padding: 0; border: 0; color: #172033; background: transparent; font: inherit; cursor: pointer; }
.prices-progress-bar { position: relative; height: 9px; overflow: hidden; border-radius: 999px; background: #dfe6f1; }
.prices-progress-bar span { position: absolute; inset-block: 0; left: 0; border-radius: inherit; background: #2d66d2; }
.prices-progress-percent { color: #465168; font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; }
.prices-progress-summary { display: grid; gap: 8px; margin-top: 16px; }
.prices-progress-summary-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; padding: 10px 12px; border: 1px solid #dfe4ec; border-radius: 8px; color: #172033; background: #fff; font: inherit; text-align: left; }
button.prices-progress-summary-row { cursor: pointer; }
.prices-progress-summary-row strong { font-size: 18px; font-variant-numeric: tabular-nums; }
.prices-skipped-list { display: grid; gap: 10px; margin-top: 16px; }
.prices-skipped-item { padding: 12px; border: 1px solid #dfe4ec; border-radius: 8px; background: #fff; }
.prices-skipped-item h3 { margin: 0 0 6px; font-size: 14px; }
.prices-skipped-item p { margin-top: 6px; white-space: pre-wrap; overflow-wrap: anywhere; }
.prices-skipped-reason { color: #744900; font-weight: 650; }
.prices-upload-dialog .notice { margin-top: 14px; }
.prices-feed-dialog, .prices-skipped-dialog { max-width: min(920px, calc(100vw - 48px)); }
.prices-progress-dialog { max-width: min(520px, calc(100vw - 48px)); }
.prices-feed-source-rows { display: grid; gap: 8px; margin-top: 18px; }
.prices-feed-source-rows h3 { margin: 0 0 2px; font-size: 15px; }
.prices-feed-source-rows p { margin: 0; color: #465168; white-space: pre-wrap; overflow-wrap: anywhere; }
.prices-upload-jobs { margin-top: 16px; padding: 14px; border: 1px solid #d8e1ef; border-radius: 10px; background: #f8fbff; }
.prices-upload-jobs-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.prices-upload-jobs-heading h2 { margin: 0; font-size: 15px; }
.prices-upload-jobs-list { display: grid; gap: 10px; margin-top: 12px; }
.prices-upload-job { display: grid; gap: 8px; padding: 12px; border: 1px solid #dfe6f2; border-radius: 8px; background: #fff; }
.prices-upload-job.error { border-color: #efc5c5; background: #fffafa; }
.prices-upload-job-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.prices-upload-job-heading h3 { min-width: 0; margin: 0; color: #172033; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.prices-upload-job-badge { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; color: #234477; background: #edf3ff; font-size: 12px; font-weight: 700; }
.prices-upload-job.error .prices-upload-job-badge { color: #842727; background: #fff0f0; }
.prices-upload-job-message, .prices-upload-job-meta { margin: 0; color: #465168; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.prices-upload-job-progress { position: relative; height: 8px; overflow: hidden; border-radius: 999px; background: #dfe6f1; }
.prices-upload-job-progress span { position: absolute; inset-block: 0; left: 0; width: 42%; border-radius: inherit; background: linear-gradient(90deg, #2d66d2, #67a0ff); animation: prices-upload-progress 1.8s ease-in-out infinite; }
.prices-upload-job-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.prices-upload-job-actions .button { min-height: 32px; padding: 6px 9px; font-size: 12px; }
@keyframes prices-upload-progress {
  0% { transform: translateX(-115%); }
  50% { transform: translateX(85%); }
  100% { transform: translateX(238%); }
}
@media (prefers-reduced-motion: reduce) {
  .prices-upload-job-progress span { animation: none; transform: translateX(70%); }
}
.workspace-suppliers { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-suppliers .sidebar { min-height: 0; overflow-y: auto; }
.workspace-suppliers .content { display: flex; flex-direction: column; min-height: 0; padding-bottom: 12px; overflow: hidden; }
.workspace-suppliers .topbar { flex: 0 0 auto; }
.suppliers-panel { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; margin-top: 12px; padding: 14px; }
.suppliers-create-form { flex: 0 0 auto; display: flex; align-items: end; gap: 12px; margin-top: 0; }
.suppliers-create-form .field { flex: 1 1 auto; min-width: 0; }
.suppliers-create-form .button { flex: 0 0 auto; }
.suppliers-create-form input { width: 100%; }
.suppliers-filter-form { flex: 0 0 auto; display: grid; grid-template-columns: minmax(260px, 1fr) minmax(150px, 220px); align-items: end; gap: 12px; margin-top: 14px; }
.suppliers-table-scroll { flex: 1 1 auto; contain: paint; min-height: 0; max-width: 100%; margin-top: 12px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 1px solid #dfe4ec; border-radius: 9px; }
.suppliers-table-fit { min-width: 0; width: 100%; max-width: 100%; margin-top: 0; overflow: visible; border: 0; border-radius: 0; }
.suppliers-table { min-width: 960px; }
.suppliers-color-cell { min-width: 160px; }
.supplier-color-form { display: grid; gap: 5px; min-width: 150px; }
.supplier-color-form fieldset { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.supplier-color-form fieldset:disabled { opacity: .72; }
.supplier-color-field { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.supplier-color-preview { width: 22px; height: 22px; flex: 0 0 auto; border: 1px solid #aeb8c8; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); }
.supplier-color-form input[type="color"] { width: 38px; min-width: 38px; min-height: 32px; padding: 2px; border: 1px solid #bfc8d6; border-radius: 7px; background: #fff; cursor: pointer; }
.supplier-color-form .button { min-height: 32px; padding: 6px 9px; font-size: 12px; }
.supplier-color-status { color: #596479; font-size: 12px; line-height: 1.3; overflow-wrap: anywhere; }
.supplier-color-status.error { color: #842727; font-weight: 650; }
.suppliers-actions { display: flex; flex-wrap: wrap; gap: 7px; min-width: 210px; }
.suppliers-actions .button { min-height: 32px; padding: 6px 9px; font-size: 12px; }
.suppliers-count { flex: 0 0 auto; display: flex; justify-content: flex-end; padding-top: 10px; color: #465168; font-size: 13px; font-weight: 650; }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 14px; margin-top: 14px; }
.identity-details { margin-top: 16px; }
.identity-details summary { cursor: pointer; font-weight: 650; }
.table-scroll { margin-top: 16px; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th, .data-table td { padding: 10px 9px; border-bottom: 1px solid #e4e8ef; text-align: left; vertical-align: top; }
.data-table th { position: sticky; top: 0; color: #465168; background: #f8f9fb; }
.data-table td.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.pagination { justify-content: flex-end; margin-top: 18px; }
.import-form { display: flex; align-items: end; gap: 14px; margin-top: 16px; }
.catalog-import-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.catalog-import-summary span { padding: 6px 9px; border-radius: 7px; background: #f7f9fc; color: #465168; font-size: 12px; font-weight: 650; }
.catalog-readonly-action { max-width: 220px; color: #657086; font-size: 12px; line-height: 1.4; }
.sticky-actions { position: sticky; bottom: 0; justify-content: flex-end; padding-top: 16px; background: #fff; }
.catalog-dialog { width: min(920px, calc(100vw - 48px)); max-height: calc(100vh - 48px); padding: 24px; border: 0; border-radius: 12px; box-shadow: 0 24px 80px rgba(10, 20, 40, .3); }
.catalog-dialog::backdrop { background: rgba(15, 25, 43, .55); }
.catalog-dialog h2 { margin: 0; }
.icon-button { width: 40px; height: 40px; border: 0; border-radius: 8px; color: #465168; background: #edf0f5; font-size: 24px; cursor: pointer; }
.dialog-actions { justify-content: flex-end; margin-top: 20px; }
.catalog-dialog > form > .field { margin-top: 14px; }
.workspace-mappings { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-mappings .sidebar { min-height: 0; overflow-y: auto; }
.workspace-mappings .content { display: flex; flex-direction: column; min-height: 0; overflow: hidden; padding-bottom: 12px; }
.workspace-mappings .topbar, .workspace-mappings .mappings-toolbar, .mappings-footer { flex: 0 0 auto; }
.workspace-mappings .mappings-toolbar { margin-top: 12px; padding: 14px; }
.mappings-catalog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.catalog-export-status { flex-basis: 100%; margin-top: 0; }
.catalog-missing-select-all { display: flex; align-items: center; gap: 8px; margin: 12px 0; }
.catalog-missing-list { list-style: none; padding: 0; margin: 12px 0; max-height: 45vh; overflow: auto; }
.catalog-missing-list li { border-bottom: 1px solid #dfe4ec; }
.catalog-missing-list label { display: flex; align-items: flex-start; gap: 10px; padding: 10px 4px; overflow-wrap: anywhere; }
.catalog-missing-list input { flex: 0 0 auto; margin-top: 4px; }
.catalog-missing-list small { display: block; margin-top: 4px; }
#catalog-missing-copy-text { width: 100%; resize: vertical; box-sizing: border-box; }
.mappings-toolbar { display: flex; align-items: start; flex-wrap: wrap; gap: 12px; }
.mappings-filter-form { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 10px; }
.mappings-filter-form .field { flex: 1; min-width: 0; }
.mappings-filter-form .field, .mappings-filter-form input[type="search"] { width: 100%; min-width: 0; }
.mappings-only-mapped { display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; }
.mappings-only-mapped input { width: auto; margin: 0; }
.mappings-toolbar > .notice { flex-basis: 100%; margin-top: 0; }
.mappings-groups { flex: 1 1 auto; min-height: 0; min-width: 0; margin-top: 12px; background: #fff; border: 1px solid #dfe4ec; border-radius: 10px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.mappings-groups .table-scroll { max-width: 100%; margin-top: 0; overflow: visible; }
.mappings-footer { padding-top: 10px; color: #657086; font-size: 13px; }
.mappings-table { min-width: 760px; width: 100%; table-layout: fixed; font-size: 12px; }
.mappings-table col:nth-child(1) { width: var(--mapping-supplier-width, 110px); }
.mappings-table col:nth-child(3) { width: 170px; }
.mappings-table col:nth-child(4) { width: 166px; }
.mappings-table td, .mappings-table th { padding: 8px 9px; overflow-wrap: anywhere; font-weight: 400; }
.mappings-table td { vertical-align: middle; }
.mappings-table th { position: static; }
.mappings-table .mapping-canonical-cell { color: #172033; font-size: 16px; }
.mapping-canonical-heading { display: flex; align-items: center; gap: 16px; }
.mapping-canonical-cell strong { display: block; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.mapping-column-headings th { padding-block: 5px; background: #fff; }
.mappings-table .button { font-weight: 400; }
.mapping-canonical-heading .mapping-unmapped-message { flex: 0 0 auto; font-size: 12px; font-weight: 400; white-space: nowrap; }
.mapping-alias-list { display: grid; gap: 4px; margin: 0; padding-left: 18px; }
.mapping-key { max-width: 320px; font-size: 11px; }
.mappings-action-buttons { display: flex; flex-wrap: nowrap; align-items: center; gap: 7px; min-width: max-content; }
.mappings-actions .button { flex: 0 0 auto; min-height: 32px; padding: 5px 9px; font-size: 12px; white-space: nowrap; }
.mapping-history-list { display: grid; gap: 12px; margin-top: 14px; }
.mapping-history-entry { padding: 13px; border: 1px solid #dfe4ec; border-radius: 9px; }
.mapping-history-entry h3 { margin: 0 0 7px; font-size: 15px; }
.mapping-history-entry p { margin-top: 6px; }
.mapping-target-search { position: relative; margin-top: 20px; }
.mapping-target-options { display: grid; gap: 2px; max-height: 260px; overflow: auto; margin-top: 4px; padding: 4px; border: 1px solid #c5d2e7; border-radius: 8px; background: #fff; }
.mapping-target-option { width: 100%; justify-content: flex-start; text-align: left; padding: 10px; border: 0; border-radius: 5px; background: #fff; color: #172033; cursor: pointer; overflow-wrap: anywhere; }
.mapping-target-option:hover, .mapping-target-option[aria-selected="true"] { background: #edf3ff; }
.mapping-attribution { display: flex; min-height: 0; color: #234477; background: none; border: 0; padding: 0; text-align: left; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.workspace-mapping-history { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-mapping-history .sidebar { min-height: 0; overflow-y: auto; }
.workspace-mapping-history .content { display: flex; flex-direction: column; min-height: 0; overflow: hidden; padding-bottom: 12px; }
.workspace-mapping-history .topbar { flex: 0 0 auto; }
.mapping-history-panel { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; margin-top: 12px; padding: 14px; }
.mapping-history-heading { flex: 0 0 auto; display: flex; align-items: flex-start; justify-content: flex-start; gap: 16px; }
.mapping-history-heading h2 { margin: 0 0 4px; }
.mapping-history-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.mapping-history-tab[aria-selected="true"] { color: #fff; border-color: #2d66d2; background: #2d66d2; }
.mapping-history-filter-form { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-top: 14px; }
.mapping-history-search-field { flex: 1 1 320px; min-width: 260px; }
.mapping-history-search-field input { width: 100%; min-width: 0; }
.mapping-history-filter-fields { flex: 2 1 620px; display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 10px; min-width: 0; }
.mapping-history-filter-field { flex: 1 1 150px; min-width: 140px; }
.mapping-history-date-range { display: flex; flex: 1 1 260px; flex-wrap: wrap; align-items: end; gap: 10px; min-width: 0; }
.mapping-history-date-field { flex: 1.35 1 250px; min-width: 238px; }
.mapping-history-clear-filters { flex: 0 0 auto; min-height: 40px; }
.mapping-history-filter-error { flex: 1 0 100%; margin-top: 0; }
.mapping-history-view, .mapping-history-event-detail { flex: 1 1 auto; min-height: 0; flex-direction: column; }
.mapping-history-view:not([hidden]), .mapping-history-event-detail:not([hidden]) { display: flex; }
.mapping-history-table-scroll { flex: 1 1 auto; min-height: 0; max-width: 100%; margin-top: 12px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 1px solid #dfe4ec; border-radius: 9px; background: #fff; }
.mapping-history-table-scroll .mapping-history-table { margin-top: 0; }
.mapping-history-table { min-width: 940px; table-layout: fixed; }
.mapping-history-table th, .mapping-history-table td { overflow-wrap: anywhere; }
.mapping-history-positions-table th:nth-child(1) { width: 25%; }
.mapping-history-positions-table th:nth-child(2) { width: 25%; }
.mapping-history-positions-table th:nth-child(3) { width: 14%; }
.mapping-history-positions-table th:nth-child(4) { width: 13%; }
.mapping-history-positions-table th:nth-child(5) { width: 13%; }
.mapping-history-positions-table th:nth-child(6) { width: 10%; }
.mapping-history-events-table th:nth-child(1) { width: 16%; }
.mapping-history-events-table th:nth-child(2) { width: 14%; }
.mapping-history-events-table th:nth-child(3) { width: 24%; }
.mapping-history-events-table th:nth-child(4),
.mapping-history-events-table th:nth-child(5),
.mapping-history-events-table th:nth-child(6),
.mapping-history-events-table th:nth-child(7) { width: 9%; }
.mapping-history-events-table th:nth-child(8) { width: 10%; }
.mapping-history-primary { display: block; font-weight: 700; }
.mapping-history-row-meta, .mapping-history-row-error { display: block; margin-top: 4px; font-size: 12px; line-height: 1.35; }
.mapping-history-row-meta { color: #657086; }
.mapping-history-row-error { color: #9a2f2f; }
.mapping-history-number { font-variant-numeric: tabular-nums; }
.mapping-history-actions .button { min-height: 32px; padding: 5px 9px; font-size: 12px; white-space: nowrap; }
.mapping-history-actions .mapping-history-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0; }
.mapping-history-icon-button svg { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; pointer-events: none; }
.mapping-history-actions .mappings-action-buttons { flex-wrap: wrap; min-width: 0; }
.mapping-history-count { flex: 0 0 auto; display: flex; justify-content: flex-end; padding-top: 10px; color: #465168; font-size: 13px; font-weight: 650; }
.mapping-history-detail-heading { flex: 0 0 auto; display: flex; align-items: flex-start; gap: 14px; margin-top: 12px; }
.mapping-history-detail-heading h2 { margin: 0; font-size: 18px; }
.mapping-history-detail-heading p { margin-top: 4px; }
.mapping-history-detail-counts { flex: 0 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.mapping-history-count-card { min-width: 0; padding: 10px 12px; border: 1px solid #dfe4ec; border-radius: 8px; background: #f8fbff; }
.mapping-history-count-card span { display: block; color: #657086; font-size: 12px; }
.mapping-history-count-card strong { display: block; margin-top: 3px; font-size: 19px; font-variant-numeric: tabular-nums; }
.catalog-import-history-list { display: grid; gap: 20px; margin-top: 16px; }
.status-ready { color: #1c6b3c; }
.status-conflict, .status-error { color: #9a2f2f; }
.review-processing-form { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(132px, .35fr) minmax(132px, .35fr) auto; align-items: end; gap: 12px; margin-top: 16px; }
.review-processing-feed-metrics-form { display: grid; grid-template-columns: minmax(160px, .32fr) minmax(260px, 1fr) auto; align-items: end; gap: 12px; margin-top: 16px; }
.review-processing-billing-form { display: grid; grid-template-columns: minmax(232px, .5fr) auto; align-items: end; gap: 12px; margin-top: 16px; }
.review-processing-feed-metrics-feed { min-width: 0; }
.review-processing-feed-metrics-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 16px; }
.review-processing-billing-balance, .review-processing-billing-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.review-processing-billing-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.review-processing-billing-tabs .button { min-height: 34px; padding: 7px 11px; }
.review-processing-billing-view { display: grid; gap: 14px; margin-top: 14px; }
.review-processing-billing-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.review-processing-billing-chart { min-width: 0; padding: 12px; border: 1px solid #dfe4ec; border-radius: 10px; background: #f8fbff; }
.review-processing-billing-chart h3, .review-processing-billing-table h3 { margin: 0 0 8px; color: #172033; font-size: 15px; }
.review-processing-billing-chart svg { display: block; width: 100%; height: auto; min-height: 150px; overflow: visible; }
.review-processing-billing-chart-axis { stroke: #aeb9c9; stroke-width: 1; }
.review-processing-billing-chart-bar { fill: #5378d8; }
.review-processing-billing-chart-bar.anomaly { fill: #c45353; }
.review-processing-billing-chart-baseline { stroke: #2f7a52; stroke-width: 2; }
.review-processing-billing-chart-threshold { stroke: #a65f2b; stroke-width: 2; stroke-dasharray: 5 5; }
.review-processing-billing-chart-average { stroke: #5378d8; stroke-width: 2.5; fill: none; }
.review-processing-billing-chart-dot { fill: #172033; }
.review-processing-billing-chart-label { fill: #657086; font-size: 12px; }
.review-processing-billing-data-table th, .review-processing-billing-data-table td { overflow-wrap: anywhere; }
.review-processing-billing-data-table td:nth-child(4),
.review-processing-billing-data-table td:nth-child(6),
.review-processing-billing-data-table td:nth-child(7) { font-variant-numeric: tabular-nums; }
.review-processing-billing-models { display: grid; gap: 4px; min-width: 0; padding: 10px 12px; border: 1px solid #dfe4ec; border-radius: 10px; background: #f8fbff; }
.review-processing-billing-models p { margin: 0; }
.review-processing-billing-models-label { color: #657086; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.review-processing-billing-models-main { color: #172033; font-size: 14px; font-weight: 700; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-billing-models-meta { color: #657086; font-size: 12px; }
.review-processing-billing-model-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.review-processing-billing-model-list li { display: grid; gap: 2px; min-width: min(220px, 100%); padding: 7px 9px; border: 1px solid #dfe4ec; border-radius: 8px; background: #fff; }
.review-processing-billing-model-list span { min-width: 0; color: #172033; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-billing-model-list small { color: #657086; font-size: 12px; }
.review-processing-billing-operations-wrap { overflow-x: visible; }
.review-processing-billing-operations-table { table-layout: fixed; min-width: 0; }
.review-processing-billing-operations-table th,
.review-processing-billing-operations-table td { min-width: 0; padding: 9px 10px; text-align: left; white-space: normal; overflow-wrap: anywhere; font-weight: 500; }
.review-processing-billing-operations-table th:nth-child(1) { width: 13%; }
.review-processing-billing-operations-table th:nth-child(2) { width: 23%; }
.review-processing-billing-operations-table th:nth-child(3) { width: 38%; }
.review-processing-billing-operations-table th:nth-child(4) { width: 13%; text-align: right; }
.review-processing-billing-operations-table th:nth-child(5) { width: 13%; }
.review-processing-billing-operations-table td:nth-child(4) { text-align: right; font-variant-numeric: tabular-nums; }
.review-processing-billing-operation-name,
.review-processing-billing-source-label { display: block; min-width: 0; max-width: 100%; color: #172033; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-billing-operation-details { margin-top: 5px; }
.review-processing-billing-operation-details summary { width: max-content; max-width: 100%; color: #285da9; font-size: 12px; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
.review-processing-billing-detail-list { display: grid; gap: 5px; margin: 8px 0 0; padding: 8px; border: 1px solid #e8edf5; border-radius: 8px; background: #fff; }
.review-processing-billing-detail-row { display: grid; grid-template-columns: minmax(90px, .42fr) minmax(0, 1fr); gap: 8px; }
.review-processing-billing-detail-row dt { color: #657086; font-size: 12px; }
.review-processing-billing-detail-row dd { min-width: 0; margin: 0; color: #172033; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-billing-feed-list { display: grid; gap: 3px; min-width: 0; max-width: 100%; margin: 5px 0 0; padding-left: 17px; color: #172033; font-size: 13px; line-height: 1.35; }
.review-processing-billing-feed-list li { min-width: 0; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-billing-source-note { display: block; min-width: 0; max-width: 100%; margin-top: 4px; color: #657086; font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-billing-status-pill { display: inline-flex; max-width: 100%; color: #1c6b3c; font-size: 13px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.review-processing-billing-status-pill.error { color: #9a2f2f; }
.review-processing-billing-pagination { margin-top: 12px; }
.review-processing-feed-context { margin: 0; color: #465168; font-size: 14px; line-height: 1.45; }
.review-processing-feed-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.review-processing-feed-summary-card { min-width: 0; padding: 12px; border: 1px solid #dfe4ec; border-radius: 10px; background: #f8fbff; }
.review-processing-feed-summary-card h3 { margin: 0 0 8px; color: #172033; font-size: 14px; }
.review-processing-feed-summary-value { margin: 0; color: #172033; font-size: 20px; font-weight: 800; line-height: 1.2; }
.review-processing-feed-summary-meta { margin: 6px 0 0; color: #657086; font-size: 13px; line-height: 1.4; }
.review-processing-feed-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.review-processing-feed-card { align-content: start; min-width: 0; }
.review-processing-feed-list { display: grid; gap: 6px; margin: 0; }
.review-processing-feed-row { display: grid; grid-template-columns: minmax(118px, .75fr) minmax(0, 1fr); gap: 12px; align-items: baseline; }
.review-processing-feed-row dt { min-width: 0; color: #657086; overflow-wrap: break-word; }
.review-processing-feed-row dd { min-width: 0; margin: 0; color: #172033; font-weight: 700; text-align: right; overflow-wrap: break-word; }
.review-processing-feed-note { margin-top: 8px; color: #657086; font-size: 12px; line-height: 1.45; }
.review-processing-metric-section { min-width: 0; padding: 12px; border: 1px solid #dfe4ec; border-radius: 10px; background: #f8fbff; }
.review-processing-metric-section--wide { grid-column: 1 / -1; }
.review-processing-metric-section h3 { margin: 0 0 8px; color: #172033; font-size: 15px; }
.review-processing-metric-table-wrap { overflow-x: auto; }
.review-processing-metric-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.35; }
.review-processing-metric-table th, .review-processing-metric-table td { padding: 7px 0; border-top: 1px solid #e8edf5; vertical-align: top; }
.review-processing-metric-table tbody tr:first-child th, .review-processing-metric-table tbody tr:first-child td { border-top: 0; }
.review-processing-metric-table th { min-width: 150px; padding-right: 16px; color: #657086; font-weight: 600; text-align: left; }
.review-processing-metric-table td { color: #172033; font-weight: 800; text-align: right; white-space: nowrap; }
.review-processing-metric-table--matrix th, .review-processing-metric-table--matrix td { min-width: 104px; padding-right: 14px; text-align: right; white-space: nowrap; }
.review-processing-metric-table--matrix th:first-child { min-width: 150px; text-align: left; white-space: normal; }
.review-processing-metric-table--matrix.review-processing-billing-operations-table th,
.review-processing-metric-table--matrix.review-processing-billing-operations-table td { min-width: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.review-processing-metric-table--matrix.review-processing-billing-operations-table td:nth-child(4) { text-align: right; }
.review-processing-metric-section--supplier .review-processing-metric-table th:first-child,
.review-processing-metric-section--supplier .review-processing-metric-table td:first-child,
.review-processing-metric-section--supplier .review-processing-metric-table td:last-child { text-align: left; white-space: normal; }
.review-processing-metric-details { display: grid; gap: 12px; padding: 12px; border: 1px solid #dfe4ec; border-radius: 10px; background: #fff; }
.review-processing-metric-details summary { cursor: pointer; color: #172033; font-size: 15px; font-weight: 800; }
.review-processing-rollback-form { grid-template-columns: minmax(160px, .35fr) minmax(260px, 1fr) auto; }
.review-processing-reason { min-width: 240px; }
.review-processing-metrics { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 12px; margin-top: 16px; }
.review-processing-metric { display: grid; gap: 6px; padding: 12px; border: 1px solid #dfe4ec; border-radius: 8px; background: #f8fbff; }
.review-processing-metric h3 { margin: 0; font-size: 14px; }
.review-processing-metric p, .review-processing-learning p { margin: 0; color: #465168; font-size: 13px; }
.review-processing-learning { display: grid; gap: 8px; margin-top: 16px; }
.review-processing-learning-eval { display: grid; gap: 6px; padding: 12px; border: 1px solid #dfe4ec; border-radius: 8px; background: #f8fbff; }
@media (max-width: 1180px) {
  .review-processing-feed-summary-grid, .review-processing-feed-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .review-processing-billing-balance, .review-processing-billing-summary, .review-processing-billing-charts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-processing-feed-row { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .review-processing-feed-row dd { text-align: left; }
}
@media (max-width: 600px) {
  .review-processing-billing-balance, .review-processing-billing-summary, .review-processing-billing-charts { grid-template-columns: minmax(0, 1fr); }
  .review-processing-billing-tabs { align-items: stretch; flex-direction: column; }
  .review-processing-metric-table { font-size: 13px; }
  .review-processing-metric-table th { min-width: 112px; padding-right: 10px; }
  .review-processing-metric-table--matrix th, .review-processing-metric-table--matrix td { min-width: 78px; padding-right: 10px; }
  .review-processing-metric-table--matrix th:first-child { min-width: 108px; }
}
@media (max-width: 760px) {
  .review-processing-billing-operations-table,
  .review-processing-billing-operations-table thead,
  .review-processing-billing-operations-table tbody,
  .review-processing-billing-operations-table tr,
  .review-processing-billing-operations-table th,
  .review-processing-billing-operations-table td { display: block; width: 100%; min-width: 0; }
  .review-processing-billing-operations-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .review-processing-billing-operations-table tr { display: grid; gap: 8px; padding: 12px 0; border-top: 1px solid #e8edf5; }
  .review-processing-billing-operations-table tbody tr:first-child { border-top: 0; }
  .review-processing-billing-operations-table th,
  .review-processing-billing-operations-table td { padding: 0; text-align: left; }
  .review-processing-billing-operations-table td:nth-child(4) { text-align: left; }
  .review-processing-billing-operations-table th::before,
  .review-processing-billing-operations-table td::before { display: block; margin-bottom: 2px; color: #657086; content: attr(data-label); font-size: 11px; font-weight: 700; text-transform: uppercase; }
  .review-processing-billing-detail-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
@media (max-width: 1320px) and (min-width: 1181px) {
  .review-processing-feed-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1181px) {
  .review-processing-feed-card--long-values .review-processing-feed-row { grid-template-columns: minmax(88px, .42fr) minmax(0, 1.58fr); }
  .review-processing-feed-card--long-values .review-processing-feed-row dd { text-align: left; }
}
.review-toolbar-primary, .review-toolbar-secondary { display: flex; align-items: end; flex-wrap: wrap; gap: 10px 12px; min-width: 0; }
.review-filter-form { flex: 1 1 540px; display: grid; grid-template-columns: minmax(160px, 172px) minmax(260px, 1fr); align-items: end; gap: 12px; min-width: 0; }
.review-reprepare-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.review-feed-select-field select { min-width: 0; }
.review-toolbar-secondary { margin-top: 10px; align-items: center; }
.review-source-search-field { flex: 1 1 280px; min-width: min(100%, 240px); }
.review-source-search-field input { width: 100%; min-width: 0; }
.workspace-review { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-review .sidebar { min-height: 0; overflow-y: auto; }
.workspace-review .content { display: flex; flex-direction: column; min-height: 0; overflow: hidden; padding-bottom: 12px; }
.workspace-review .topbar, .workspace-review .review-toolbar { flex: 0 0 auto; }
.workspace-review .topbar { min-height: 0; padding-bottom: 12px; }
.workspace-review .review-toolbar { margin-top: 12px; padding: 14px; overflow: visible; }
.workspace-review .review-list { display: block; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.review-list { display: grid; gap: 0; margin-top: 12px; border: 1px solid #dfe4ec; border-radius: 10px; background: #fff; }
.review-list-footer { flex: 0 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; padding-top: 10px; color: #66738b; font-size: 13px; text-align: right; }
.review-card { min-width: 0; margin-top: 0; padding: 8px 9px; border-bottom: 1px solid #e4e8ef; background: #fff; }
.review-card:last-child { border-bottom: 0; }
.review-reason { display: flex; flex-wrap: wrap; gap: 2px 8px; margin-bottom: 8px; padding: 5px 9px; border-left: 3px solid #cf9a28; border-radius: 3px; background: #fff8e8; color: #704b00; font-size: 12px; overflow-wrap: anywhere; }
.review-reason strong { font-size: 13px; }
.review-reason-error { border-color: #a52b2b; background: #fff0f0; color: #842727; }
.review-reason-info { border-color: #2d66d2; background: #edf4ff; color: #18549a; }
.review-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-width: 0; }
.review-card-heading h2 { margin: 0; min-width: 0; font-size: 16px; line-height: 1.25; }
.review-card-title-line { display: flex; align-items: baseline; gap: 12px; flex: 1 1 auto; min-width: 0; }
.review-card-product-title { display: block; flex: 1 1 auto; min-width: 0; color: #172033; overflow-wrap: anywhere; font-weight: 700; }
.review-card-price { flex: 0 0 auto; font: inherit; white-space: nowrap; }
.review-card-bulk { display: flex; flex: 0 0 auto; align-items: center; min-height: 20px; }
.review-card-bulk input, .review-bulk-select-all input, .review-hints-only input { width: 16px; height: 16px; margin: 0; accent-color: #2d66d2; }
.review-card-subline { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; color: #657086; font-size: 12px; }
.review-card-supplier { min-width: 0; overflow-wrap: anywhere; }
.review-card-stock { white-space: nowrap; }
.review-region-decision-field { flex: 1 1 100%; }
.review-bulk-select-all, .review-hints-only { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; color: #172033; font-size: 12px; }
.review-bulk-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.review-bulk-actions .button { min-height: 30px; padding: 5px 9px; font-size: 12px; }
.review-bulk-confirm-list { max-height: 50vh; overflow: auto; border: 1px solid #dfe4ec; border-radius: 10px; background: #fff; scrollbar-gutter: stable; }
.workspace #review-bulk-confirm-dialog { width: calc(100vw - 48px); height: calc(100vh - 48px); height: calc(100dvh - 48px); max-width: none; max-height: calc(100dvh - 48px); overflow: hidden; }
.workspace #review-bulk-discard-dialog { width: min(520px, calc(100vw - 32px)); }
#review-bulk-confirm-dialog[open] { display: flex; flex-direction: column; gap: 12px; }
#review-bulk-confirm-dialog > :not(.review-bulk-confirm-list) { flex: 0 0 auto; }
.workspace #review-bulk-confirm-dialog .dialog-heading, .workspace #review-bulk-confirm-dialog .dialog-actions { flex-direction: row; align-items: center; }
#review-bulk-confirm-dialog .review-bulk-confirm-list { flex: 1 1 auto; min-height: 0; max-height: none; }
.review-bulk-confirm-selection-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.review-bulk-confirm-table { width: 100%; min-width: 0; border-collapse: collapse; table-layout: fixed; font-size: 15px; }
.review-bulk-confirm-check-col { width: 42px; }
.review-bulk-confirm-number-col { width: 40px; }
.review-bulk-confirm-arrow-col { width: 46px; }
.review-bulk-confirm-table th, .review-bulk-confirm-table td { min-width: 0; padding: 10px 12px; border-bottom: 1px solid #e4e8ef; text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.review-bulk-confirm-table th { position: sticky; top: 0; z-index: 1; color: #465168; background: #f8f9fb; font-size: 12px; font-weight: 700; }
.review-bulk-confirm-table tbody tr:last-child td { border-bottom: 0; }
.review-bulk-confirm-table tbody tr:hover td, .review-bulk-confirm-table tbody tr:focus-within td { background: #f8fbff; }
.review-bulk-confirm-selectable { cursor: pointer; }
.review-bulk-confirm-table .review-bulk-confirm-check-cell, .review-bulk-confirm-table .review-bulk-confirm-check-heading, .review-bulk-confirm-table .review-bulk-confirm-number, .review-bulk-confirm-table .review-bulk-confirm-number-heading, .review-bulk-confirm-table .review-bulk-confirm-arrow, .review-bulk-confirm-table .review-bulk-confirm-arrow-heading { text-align: center; }
.review-bulk-confirm-table .review-bulk-confirm-number { padding-left: 4px; padding-right: 4px; color: #465168; font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.review-bulk-confirm-check { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; cursor: pointer; }
.review-bulk-confirm-check input { width: 16px; height: 16px; margin: 0; accent-color: #2d66d2; }
.review-bulk-confirm-target-cell { position: relative; }
.review-bulk-confirm-target { display: block; border-radius: 4px; font-weight: 700; outline-offset: 3px; }
.review-bulk-confirm-target[role="button"] { cursor: text; }
.review-bulk-confirm-target-editor { position: relative; z-index: 4; margin: -2px 0; }
.review-bulk-confirm-target-editor .field { min-width: 0; gap: 4px; }
.review-bulk-confirm-target-editor .field input { width: 100%; min-width: 0; }
.review-bulk-confirm-editing { position: relative; z-index: 3; }
.review-bulk-confirm-error-message { display: block; margin-top: 5px; color: #842727; font-size: 13px; font-weight: 700; line-height: 1.35; }
.review-bulk-confirm-result-summary { padding: 10px 12px; border-bottom: 1px solid #e4e8ef; color: #465168; font-weight: 700; }
.review-card-meta { display: block; min-width: 0; color: #657086; font-size: 12px; font-weight: 400; line-height: 1.3; overflow-wrap: anywhere; }
.review-feed-link { padding: 0; border: 0; color: #285da9; background: transparent; font: inherit; font-weight: 400; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.review-state { flex: 0 0 auto; padding: 2px 7px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #fff3d6; color: #704b00; }
.review-state-auto_applied { background: #e8f3ff; color: #18549a; }
.review-state-missing_catalog { background: #f5eafe; color: #5b2482; }
.review-facts { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 4px; color: #465168; font-size: 12px; line-height: 1.35; }
.review-fact { display: inline-flex; align-items: baseline; gap: 4px; min-width: 0; padding: 0; background: transparent; }
.review-fact-label { color: #657086; font-size: 12px; letter-spacing: 0; text-transform: none; }
.review-fact-label::after { content: ":"; }
.review-fact strong { min-width: 0; overflow-wrap: anywhere; font-weight: 400; }
.review-context-grid { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 6px 16px; margin-top: 5px; color: #465168; font-size: 12px; }
.review-context-grid section { min-width: 0; padding: 0; border: 0; border-radius: 0; }
.review-raw { margin-top: 5px; color: #465168; font-size: 12px; }
.review-identity { flex: 1 1 260px; }
.review-source-details, .review-identity details { margin: 0; }
.review-source-details summary, .review-identity summary { cursor: pointer; color: #234477; font-weight: 650; }
.review-source-details[open] summary, .review-identity details[open] summary { margin-bottom: 6px; }
.review-raw pre { margin: 0; padding: 8px; border-radius: 7px; white-space: pre-wrap; overflow-wrap: anywhere; background: #f7f8fa; font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.review-identity dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 5px 10px; margin: 0; font-size: 12px; }
.review-identity dt { color: #657086; }
.review-identity dd { margin: 0; overflow-wrap: anywhere; }
.review-region-conflict { display: grid; gap: 6px; margin-top: 7px; padding: 8px; border-radius: 7px; color: #7a3b00; background: #fff4e5; }
.review-decision-row { display: flex; align-items: start; flex-direction: column; gap: 7px; margin-top: 7px; }
.review-candidates { width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; }
.review-candidates legend { padding: 0; font-weight: 700; }
.review-candidate-meta { color: #657086; }
.review-candidate-search { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 7px; margin-top: 0; }
.review-candidate-search:focus-within { z-index: 3; }
.review-candidate-search .field { min-width: 0; gap: 4px; }
.review-candidate-search .field input { min-height: 34px; padding: 6px 8px; }
.review-candidate-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 6px; min-width: 0; }
.review-candidate-product-link { display: inline-flex; align-items: center; justify-content: center; width: 34px; min-height: 34px; border: 1px solid #cbd6ea; border-radius: 7px; color: #285da9; background: #fff; font-size: 16px; font-weight: 700; text-decoration: none; }
.review-candidate-product-link:hover, .review-candidate-product-link:focus-visible { border-color: #2d66d2; background: #edf4ff; outline: 0; }
.review-candidate-product-link[hidden] { display: none; }
.review-candidate-dropdown { position: absolute; top: calc(100% + 4px); left: 0; right: 0; display: grid; gap: 4px; max-height: 260px; overflow: auto; padding: 7px; border: 1px solid #cbd3df; border-radius: 8px; background: #fff; box-shadow: 0 14px 34px rgba(23, 32, 51, .16); }
.review-candidate-option { display: grid; gap: 3px; width: 100%; padding: 9px 10px; border-radius: 7px; cursor: pointer; }
.review-candidate-option:hover, .review-candidate-option[aria-selected="true"] { background: #edf3ff; color: #173f86; }
.review-candidate-option strong { overflow-wrap: anywhere; }
.review-candidate-dropdown-status { padding: 9px 10px; color: #465168; }
.review-candidate-dropdown-status.error { color: #842727; }
.review-candidate-dropdown .button { justify-self: start; min-height: 32px; padding: 5px 9px; font-size: 12px; }
.review-selected-candidate-meta { min-height: 0; overflow-wrap: anywhere; font-size: 11px; }
.review-feed-detail-lines { display: grid; gap: 8px; margin-top: 14px; }
.review-feed-detail-lines p { margin: 0; overflow-wrap: anywhere; }
.review-feed-line-selected { padding: 8px; border-radius: 5px; background: #fff2a8; color: #172033; }
.review-actions { position: static; display: flex; align-items: center; justify-content: flex-start; flex: 0 1 auto; flex-wrap: wrap; gap: 5px; margin-top: 0; padding-top: 0; background: transparent; }
.review-secondary-actions { flex: 1 1 100%; justify-content: flex-start; }
.review-actions .button { min-height: 28px; padding: 4px 7px; font-size: 11px; font-weight: 400; white-space: nowrap; }
.review-llm-advice { display: contents; }
.review-llm-advice .notice, .review-card > .notice { flex: 1 1 100%; margin-top: 7px; padding: 8px 10px; font-size: 12px; }
.review-formula-evidence { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 2px 12px; color: #465168; font-size: 12px; }
.review-empty { padding: 24px; text-align: center; }
.workspace-table-state, .mappings-table td.workspace-table-state { padding: 28px 12px; color: #34425a; background: #f3f7ff; font-size: 14px; text-align: center; }
.workspace-table-state[data-state="error"], .mappings-table td.workspace-table-state[data-state="error"] { color: #842727; background: #fff0f0; }
.workspace-table-state-content { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.mappings-table:has(.workspace-table-state):not(:has(.mapping-canonical-row)) {
  min-width: 0; width: 100% !important; table-layout: fixed !important; zoom: 1 !important;
}
.mappings-table:has(.workspace-table-state):not(:has(.mapping-canonical-row)) col { width: auto; }
.mappings-table .workspace-table-state * { white-space: normal !important; }
.muted { color: #657086; font-size: 13px; }
.order-toolbar, .review-toolbar { margin-top: 16px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.order-toolbar > .notice, .prices-history-panel > .notice, .review-toolbar > .notice { margin-top: 10px; padding: 10px 12px; }
.prices-history-panel { margin-top: 16px; }
.workspace-order { min-height: 100vh; min-height: 100dvh; }
.workspace-order .content { display: flex; flex-direction: column; min-height: 0; }
.workspace-order .topbar, .workspace-order .order-toolbar, .workspace-order .order-draft-actions { flex: 0 0 auto; }
.order-filter-form { display: grid; grid-template-columns: minmax(280px, 1fr); align-items: end; gap: 12px; }
.order-date-field { min-width: 172px; }
.order-secondary-actions, .prices-secondary-actions { justify-content: flex-end; }
.order-refresh-state { display: flex; justify-content: space-between; gap: 14px; margin-top: 12px; color: #465168; font-size: 13px; }
.warning-notice { color: #744900; background: #fff5d8; }
.order-board-panel { flex: 1 1 0; min-height: 0; padding: 12px; display: flex; flex-direction: column; overflow: hidden; }
.catalog-stock-status { align-self: center; max-width: 280px; line-height: 1.3; overflow-wrap: anywhere; }
.order-table-scroll { position: relative; flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.order-table-scroll .table-scroll { min-width: 100%; margin-top: 0; overflow: visible; }
.order-table { min-width: 0; width: 100%; table-layout: fixed; font-size: 12px; }
.order-catalog-col { width: 21%; }
.order-pitergsm-col { width: 10%; }
.order-stock-col { width: 7%; }
.order-source-col { width: 21%; }
.order-supplier-col { width: 10%; }
.order-price-col { width: 10%; }
.order-ordered-col { width: 8%; }
.order-quantity-col { width: 13%; }
.order-table th, .order-table td { padding: 7px 6px; overflow-wrap: anywhere; text-align: center; vertical-align: middle; }
.order-table .order-catalog-cell, .order-table .order-source-cell { text-align: left; }
.order-table th { z-index: 2; font-size: 11px; overflow-wrap: normal; }
.order-table .order-price-cell, .order-table .catalog-stock-cell, .order-table .pitergsm-price-cell { white-space: nowrap; overflow-wrap: normal; }
.order-table .order-source-cell { white-space: pre-wrap; }
.order-shared-cell { background: inherit; }
.order-table .order-condition { white-space: normal; overflow-wrap: anywhere; }
.pitergsm-name-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
.pitergsm-name-line .order-item-name { min-width: 0; flex: 1 1 auto; }
.pitergsm-link-slot { flex: 0 0 auto; min-width: 16px; }
.pitergsm-link { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; min-height: 22px; color: #285da9; border-radius: 6px; font-size: 14px; font-weight: 700; text-decoration: none; }
.pitergsm-link:hover { background: #edf3ff; }
.pitergsm-price-cell { color: #34425a; font-size: 12px; line-height: 1.3; }
.pitergsm-price-value { display: block; color: #172033; font-weight: 700; white-space: nowrap; }
.pitergsm-price-status { display: block; color: #842727; font-weight: 700; white-space: nowrap; }
.pitergsm-price-status + .pitergsm-price-value { margin-top: 4px; }
.pitergsm-price-meta { display: block; margin-top: 4px; color: #657086; font-size: 11px; }
.pitergsm-price-stale .pitergsm-price-meta, .pitergsm-price-pending { color: #744900; }
.pitergsm-price-error { color: #842727; }
.catalog-pitergsm-sync-table { min-width: 760px; }
.catalog-scroll-dialog[open] { display: flex; flex-direction: column; height: calc(100dvh - 48px); overflow: hidden; gap: 12px; }
.catalog-scroll-dialog > * { flex: 0 0 auto; margin-top: 0; margin-bottom: 0; }
.catalog-scroll-dialog .catalog-detail-viewport { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; border: 1px solid #dfe4ec; border-radius: 8px; }
.catalog-detail-viewport .table-scroll { margin-top: 0; overflow: visible; }
.catalog-detail-viewport thead { position: sticky; top: 0; background: #f7f9fc; z-index: 1; }
.catalog-detail-footer { align-items: center; justify-content: space-between; }
.catalog-detail-footer > span { color: #657086; font-size: 13px; }
.catalog-error-code { display: block; font-size: 12px; color: #657086; overflow-wrap: anywhere; }
.catalog-stock-cell { color: #34425a; font-size: 12px; line-height: 1.3; }
.catalog-stock-value { display: block; color: #172033; font-weight: 700; font-variant-numeric: tabular-nums; }
.catalog-stock-error { color: #842727; }
.order-item-name { display: block; white-space: normal; overflow-wrap: anywhere; }
.order-table tr.order-group-even { background: #fff; }
.order-table tr.order-group-odd { background: #f7f9fc; }
.order-table tr.order-group-first-visible > td { border-top: 2px solid #aeb8c8; }
.order-table tr.order-group-last-visible > td, .order-table tr.order-group-first-visible > td.order-shared-cell { border-bottom: 2px solid #aeb8c8; }
.order-table td.order-supplier-colored-cell { background: var(--order-supplier-tint); }
.order-table td.order-supplier-colored-cell .order-offer-meta,
.order-table td.order-supplier-colored-cell .order-offer-comment,
.order-table td.order-supplier-colored-cell .order-collaboration-meta,
.order-table td.order-supplier-colored-cell .order-ordered-line { color: #596479; }
.order-table tr.order-alternative { color: #465168; font-size: 11px; }
.order-table tr.order-alternative.order-group-even { background: #fff; }
.order-table tr.order-alternative.order-group-odd { background: #f7f9fc; }
.order-table tr.order-alternative td { padding-top: 7px; padding-bottom: 7px; }
.order-table tr.order-board-state-row { background: #f3f7ff; }
.order-table .order-board-state-cell { padding: 28px 12px; color: #34425a; font-size: 14px; text-align: center; }
.order-table .order-board-state-error .order-board-state-cell { color: #842727; background: #fff0f0; }
.order-board-state-content { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.order-board-hourglass, .workspace-loading-hourglass { display: inline-block; animation: order-board-hourglass-spin 1.1s linear infinite; transform-origin: 50% 50%; }
@keyframes order-board-hourglass-spin {
  0%, 45% { transform: rotate(0deg); }
  55%, 100% { transform: rotate(180deg); }
}
@media (prefers-reduced-motion: reduce) {
  .order-board-hourglass, .workspace-loading-hourglass { animation: none; }
}
@media (max-width: 900px) {
  .workspace-order .order-table:has(.order-board-state-row) {
    width: 100% !important; table-layout: fixed !important; zoom: 1 !important;
  }
  .workspace-order .order-table:has(.order-board-state-row) thead { display: none; }
  .workspace-order .order-table .order-board-state-row * { white-space: normal !important; }
}
.order-expand { margin-top: 7px; padding: 0; color: #285da9; border: 0; background: transparent; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.order-condition, .order-offer-comment, .order-offer-meta, .order-line-warning, .order-collaboration-meta { margin-top: 5px; font-size: 11px; }
.order-condition, .order-line-warning { color: #744900; }
.order-offer-comment, .order-offer-meta, .order-collaboration-meta { color: #657086; overflow-wrap: anywhere; }
.order-collaboration-meta { line-height: 1.25; }
.order-ordered { color: #34425a; font-size: 12px; }
.order-ordered-total { display: block; color: #172033; font-weight: 700; }
.order-ordered-line { margin-top: 4px; color: #657086; font-size: 11px; line-height: 1.3; }
.order-quantity input { width: 76px; max-width: 100%; min-height: 36px; padding: 7px 8px; border: 1px solid #bfc8d6; border-radius: 7px; font: inherit; text-align: center; }
.order-table td.order-quantity-cell-warning, .order-quantity-cell-warning { color: #842727; background: #fff0f0; box-shadow: inset 0 0 0 1px #efc5c5; }
.order-quantity-status { min-width: 0; }
.order-availability { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 8px; border-radius: 6px; color: #465168; background: #eef2f7; font-size: 12px; font-weight: 700; }
.order-availability-review_required, .order-availability-processing { color: #744900; background: #fff4d8; }
.order-availability-out_of_stock, .order-availability-failed { color: #842727; background: #fff0f0; }
.order-quantity input:focus { outline: 2px solid #2d66d2; outline-offset: 1px; }
.order-quantity input[aria-invalid="true"] { border-color: #a52b2b; }
.order-selection-summary { position: sticky; top: 12px; z-index: 4; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 12px; padding: 10px 12px; border: 1px solid #c8d4e6; border-radius: 8px; background: #f3f7ff; font-size: 13px; }
.order-selection-summary > div { min-width: 0; overflow-wrap: anywhere; }
.order-selection-summary strong { display: block; margin-bottom: 3px; }
.order-selection-summary .muted { margin-top: 3px; }
.order-draft-panel { scroll-margin-top: 90px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #dfe4ec; font-size: 12px; }
.workspace-order .order-draft-panel:not([hidden]) { flex: 0 0 auto; max-height: 24dvh; overflow: auto; }
.order-draft-panel h2 { margin-bottom: 4px; font-size: 14px; }
.order-draft-panel h3 { font-size: 12px; }
.order-draft-panel .button { min-height: 32px; padding: 5px 9px; font-size: 12px; }
.order-scope-switch { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.order-scope-switch .button { border-color: #c8d4e6; background: #fff; }
.order-scope-switch .button.active, .order-scope-switch .button[aria-pressed="true"] { color: #fff; border-color: #2d66d2; background: #2d66d2; }
.order-draft-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 12px; }
.order-draft-lines { display: grid; margin-top: 10px; }
.order-draft-line { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 7px 0; border-bottom: 1px solid #e4e8ef; }
.order-draft-line span { overflow-wrap: anywhere; }
.order-draft-line .button { min-height: 32px; flex: 0 0 auto; padding: 5px 9px; font-size: 12px; }
.order-draft-line.change-pending { align-items: flex-start; border: 1px solid #d9a441; background: #fff8e8; }
.order-line-money { margin-top: 5px; color: #34425a; font-weight: 650; }
.order-draft-activity { display: grid; gap: 5px; max-height: 110px; overflow: auto; color: #465168; font-size: 12px; }
.order-preview-lines { display: grid; gap: 10px; max-height: 55vh; overflow: auto; }
.order-preview-line { padding: 11px; border: 1px solid #dfe4ec; border-radius: 8px; }
.order-preview-line div { margin-top: 5px; overflow-wrap: anywhere; }
.order-preview-total { font-size: 18px; font-weight: 750; }
.order-copy-blocks { display: grid; gap: 14px; margin-top: 16px; }
.order-copy-blocks section { padding: 13px; border: 1px solid #dfe4ec; border-radius: 9px; }
.order-copy-blocks pre { margin: 0 0 10px; padding: 11px; white-space: pre-wrap; overflow-wrap: anywhere; border-radius: 7px; background: #f7f8fa; font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.order-copy-text { width: 100%; min-height: 160px; margin: 8px 0 0; padding: 11px; resize: vertical; border: 1px solid #dfe4ec; border-radius: 7px; background: #f7f8fa; color: #172033; font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.order-creation-note { display: flex; flex-wrap: wrap; gap: 4px; margin: 10px 0 12px; padding: 8px 10px; border-left: 3px solid #d99b00; border-radius: 6px; color: #4f3300; background: #fff8db; overflow-wrap: anywhere; }
.order-creation-note strong { font-weight: 800; }
.order-creation-list { display: grid; gap: 8px; margin: 18px 0 0; padding-left: 24px; }
.order-creation-list li { overflow-wrap: anywhere; }
.invoice-dialog { width: min(980px, calc(100vw - 48px)); }
.invoice-lines { max-height: 50vh; overflow: auto; margin-top: 16px; border: 1px solid #dfe4ec; border-radius: 9px; }
.invoice-line, .invoice-line-columns { display: grid; grid-template-columns: minmax(0, 1fr) 80px 136px 136px 148px; align-items: center; gap: 12px; padding: 7px 10px; font-size: 13px; }
.invoice-line-columns { position: sticky; top: 0; z-index: 1; min-height: 36px; color: #465168; background: #f8f9fb; border-bottom: 1px solid #dfe4ec; font-size: 12px; font-weight: 650; }
.invoice-line-columns > :not(:first-child) { text-align: right; }
.invoice-line { border-bottom: 1px solid #e4e8ef; background: #fff; }
.invoice-line:last-child { border-bottom: 0; }
.invoice-line:focus-within { background: #f3f7ff; }
.invoice-line-heading { display: flex; align-items: baseline; gap: 9px; min-width: 0; line-height: 1.4; }
.invoice-line-index { flex: 0 0 auto; min-width: 2ch; font-size: 12px; font-variant-numeric: tabular-nums; }
.invoice-line-heading strong { min-width: 0; overflow-wrap: anywhere; }
.invoice-line-quantity, .invoice-line-purchase, .invoice-difference { min-width: 0; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.invoice-line-quantity, .invoice-line-purchase { color: #465168; }
.invoice-sale-field { min-width: 0; }
.invoice-sale-field input { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; text-align: right; font: inherit; font-variant-numeric: tabular-nums; }
.invoice-sale-field input:focus-visible { outline: 2px solid #2d66d2; outline-offset: 1px; }
.invoice-sale-field input[aria-invalid="true"] { border-color: #a52b2b; }
.invoice-difference { font-weight: 700; }
.invoice-difference.negative { color: #a52b2b; }
.invoice-difference.positive { color: #1c6b3c; }
.invoice-copy { margin-top: 16px; padding: 13px; border: 1px solid #dfe4ec; border-radius: 9px; background: #f8fbff; }
.invoice-copy pre { margin: 0 0 10px; padding: 11px; white-space: pre-wrap; overflow-wrap: anywhere; border-radius: 7px; background: #fff; font: 13px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.invoice-dialog .dialog-actions { flex-wrap: wrap; }
.orders-filter-form { display: grid; grid-template-columns: minmax(238px, max-content) minmax(220px, 320px); align-items: end; justify-content: space-between; gap: 12px; }
.orders-date-field { min-width: 238px; }
.orders-date-field input[type="date"] { width: 100%; }
.orders-supplier-filter { min-width: 220px; }
.orders-table { min-width: 640px; table-layout: fixed; }
.orders-table th:nth-child(1) { width: 12%; }
.orders-table th:nth-child(2) { width: 24%; }
.orders-table th:nth-child(3) { width: 22%; }
.orders-table th:nth-child(4) { width: 42%; }
.orders-table th, .orders-table td { padding: 8px 7px; overflow-wrap: anywhere; }
.orders-table .orders-number { width: 1%; white-space: nowrap; }
.orders-number-button { padding: 0; border: 0; color: #285da9; background: transparent; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.orders-table .orders-row-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; white-space: nowrap; }
.orders-edit-lines { display: grid; gap: 12px; margin-top: 16px; }
.orders-edit-line { display: grid; grid-template-columns: minmax(0, 1fr) 110px auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid #dfe4ec; border-radius: 8px; }
.orders-edit-line p { overflow-wrap: anywhere; }
.orders-edit-line .field { min-width: 0; }
.orders-edit-line input { width: 100%; }
@media (max-width: 600px) { .orders-edit-line { grid-template-columns: minmax(0, 1fr) 90px; } .orders-edit-line > .button { grid-column: 1 / -1; } }
.orders-table .button { min-height: 28px; padding: 4px 7px; font-size: 11px; }
.status-formed { color: #1c6b3c; }
.status-in_progress { color: #744900; }
.status-cancelled { color: #8b3131; }
.order-saved-snapshot { background: #fffaf0; }
.orders-detail-meta { margin-top: 14px; color: #465168; }
.orders-detail-meta p { margin-top: 7px; }
.service-unavailable { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.service-unavailable .panel { max-width: 560px; margin: 0; text-align: center; }
@media (max-width: 900px) {
  .workspace { display: block; }
  .workspace-mappings { display: flex; flex-direction: column; }
  .workspace-mappings .sidebar { flex: 0 0 auto; max-height: 50dvh; }
  .workspace-mappings .content { flex: 1 1 0; padding-bottom: 10px; }
  .workspace-mapping-history { display: flex; flex-direction: column; }
  .workspace-mapping-history .sidebar { flex: 0 0 auto; max-height: 50dvh; }
  .workspace-mapping-history .content { flex: 1 1 0; overflow: hidden; padding-bottom: 10px; }
  .workspace-suppliers { display: flex; flex-direction: column; }
  .workspace-suppliers .sidebar { flex: 0 0 auto; max-height: 50dvh; }
  .workspace-suppliers .content { flex: 1 1 0; overflow: hidden; padding-bottom: 10px; }
  .workspace-prices { display: flex; flex-direction: column; }
  .workspace-prices .sidebar { flex: 0 0 auto; max-height: 50dvh; }
  .workspace-prices .content { flex: 1 1 0; overflow: hidden; }
  .workspace-orders { display: flex; flex-direction: column; }
  .workspace-orders .sidebar { flex: 0 0 auto; max-height: 50dvh; }
  .workspace-orders .content { flex: 1 1 0; height: auto; overflow: hidden; padding-bottom: 10px; }
  .workspace-review { display: flex; flex-direction: column; }
  .workspace-review .sidebar { flex: 0 0 auto; max-height: 50dvh; }
  .workspace-review .content { flex: 1 1 auto; padding-bottom: 10px; }
  .sidebar { position: sticky; top: 0; z-index: 30; gap: 0; padding: 10px 16px; box-shadow: 0 10px 24px rgba(23, 32, 51, .18); }
  .sidebar-header { align-items: center; }
  .sidebar-panel { display: grid; gap: 12px; max-height: calc(100vh - 72px); overflow-y: auto; overscroll-behavior: contain; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(238, 244, 255, .18); }
  html[data-price-order-workspace="ready"] .sidebar:not(.menu-open) .sidebar-panel { display: none; }
  html[data-price-order-workspace="ready"] .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 13px; border: 1px solid rgba(238, 244, 255, .32); border-radius: 8px; color: #eef4ff; background: rgba(255, 255, 255, .08); font-weight: 650; cursor: pointer; }
  .nav-group-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .nav a { min-height: 44px; display: flex; align-items: center; padding: 10px; }
  .account { margin-top: 0; padding-top: 10px; border-top: 1px solid rgba(238, 244, 255, .18); }
  .account a, .account button { min-height: 44px; display: flex; align-items: center; }
  .workspace .content { padding: 18px 16px 40px; }
  .workspace .topbar { min-height: 0; align-items: flex-start; flex-wrap: wrap; padding-bottom: 12px; }
  .workspace .topbar h1, .workspace .operator { min-width: 0; overflow-wrap: anywhere; }
  .catalog-toolbar { position: static; }
  .form-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .prices-filter-form { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .workspace-prices .prices-table-scroll { min-width: 0; max-width: 100%; }
  .prices-filter-form .prices-date-field { grid-column: 1 / -1; }
  .suppliers-filter-form { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .review-filter-form { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .review-card-heading { flex-wrap: nowrap; }
  .review-state { margin-left: auto; }
  .review-candidates { min-width: 0; }
  .review-candidate-search { grid-template-columns: minmax(0, 1fr); }
  .review-actions { flex: 1 1 100%; justify-content: flex-start; }
  .order-filter-form { grid-template-columns: minmax(0, 1fr) auto; }
  .order-selection-summary { position: static; }
  .orders-filter-form { grid-template-columns: minmax(0, 1fr) minmax(200px, 280px); }
  .invoice-lines { max-height: 58vh; }
  .invoice-line-columns { display: none; }
  .invoice-line { grid-template-columns: minmax(0, 1fr) clamp(110px, 35vw, 136px); gap: 4px 12px; padding: 10px; }
  .invoice-line-heading { grid-column: 1 / -1; margin-bottom: 3px; }
  .invoice-line-quantity, .invoice-line-purchase, .invoice-difference { grid-column: 1; text-align: left; white-space: normal; overflow-wrap: anywhere; font-size: 12px; }
  .invoice-sale-field { grid-column: 2; grid-row: 2 / 5; align-self: center; }
  .invoice-sale-field input { min-height: 44px; font-size: 16px; }
  .invoice-line .invoice-fact-label, .invoice-line .invoice-sale-label { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; }
  .invoice-dialog .dialog-actions { justify-content: stretch; }
  .invoice-dialog .dialog-actions .button { flex: 1 1 140px; }
  .mappings-table { font-size: 12px; }
  .mappings-table td, .mappings-table th { padding: 7px; }
}
@media (max-width: 600px) {
  .invoice-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: calc(100vh - 20px); padding: 16px; }
  .sidebar { padding-inline: 12px; }
  .brand strong { font-size: 17px; }
  .brand span { font-size: 11px; }
  .nav-group-links { grid-template-columns: minmax(0, 1fr); }
  .workspace .content { padding: 14px 10px 32px; }
  .workspace-suppliers .content { padding-bottom: 10px; }
  .workspace .topbar { flex-direction: column; gap: 6px; }
  .workspace-prices .topbar-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; width: 100%; gap: 6px; }
  .workspace-prices .topbar-controls .prices-date-field, .workspace-prices .topbar-controls .prices-supplier-filter { width: 100%; min-width: 0; }
  .workspace .topbar h1 { font-size: 21px; }
  .workspace .panel { margin-top: 14px; padding: 16px; border-radius: 10px; }
  .workspace .catalog-toolbar, .workspace .list-heading, .workspace .prices-upload-jobs-heading, .workspace .prices-upload-job-heading, .workspace .dialog-heading { align-items: stretch; flex-direction: column; }
  .workspace .dialog-heading .icon-button { align-self: flex-end; }
  .workspace .toolbar-actions, .workspace .search-form, .workspace .pagination, .workspace .dialog-actions, .workspace .sticky-actions, .workspace .suppliers-create-form, .workspace .import-form, .workspace .mappings-toolbar, .workspace .mappings-filter-form, .workspace .mapping-history-filter-form, .workspace .mapping-history-filter-fields, .workspace .mapping-history-date-range, .workspace .prices-actions, .workspace .prices-upload-job-actions, .workspace .review-toolbar-primary, .workspace .review-toolbar-secondary, .workspace .review-reprepare-actions, .workspace .review-bulk-actions, .workspace .review-decision-row, .workspace .order-refresh-state, .workspace .order-draft-line, .workspace .order-draft-actions, .workspace .order-scope-switch { align-items: stretch; flex-direction: column; }
  .workspace .mapping-history-heading, .workspace .mapping-history-detail-heading { align-items: stretch; flex-direction: column; }
  .workspace .pagination { justify-content: flex-start; }
  .workspace .field input, .workspace .field select, .workspace .field textarea, .workspace .search-form input { width: 100%; min-width: 0; }
  .workspace .review-toolbar-primary > *, .workspace .review-toolbar-secondary > *, .workspace .review-source-search-field, .workspace .review-reprepare-actions .button { width: 100%; flex: 0 1 auto; }
  .workspace .form-grid, .workspace .prices-filter-form, .workspace .suppliers-filter-form, .workspace .review-filter-form, .workspace .order-filter-form, .workspace .orders-filter-form, .workspace .orders-edit-line, .workspace .review-candidate-search, .workspace .review-processing-form, .workspace .review-processing-feed-metrics-form, .workspace .review-processing-billing-form, .workspace .review-processing-feed-metrics-summary, .workspace .review-processing-metrics { grid-template-columns: minmax(0, 1fr); }
  .workspace .mapping-history-search-field, .workspace .mapping-history-filter-fields, .workspace .mapping-history-filter-field, .workspace .mapping-history-date-range, .workspace .mapping-history-date-field, .workspace .mapping-history-clear-filters { flex: 0 0 auto; width: 100%; min-width: 0; }
  .workspace-suppliers .suppliers-create-form { align-items: end; flex-direction: row; gap: 8px; }
  .workspace-suppliers .suppliers-create-form .field { flex: 1 1 auto; min-width: 0; }
  .workspace-suppliers .suppliers-create-form .button { flex: 0 0 auto; padding-inline: 10px; }
  .workspace-suppliers .suppliers-filter-form { grid-template-columns: minmax(0, 1fr) minmax(116px, .42fr); gap: 8px; }
  .workspace .mapping-history-detail-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace .prices-date-field, .workspace .order-filter-form .toolbar-actions, .workspace .orders-edit-line > .button { grid-column: auto; }
  .workspace .mappings-filter-form { min-width: 0; }
  .workspace .catalog-dialog { width: min(100%, calc(100vw - 20px)); max-height: calc(100vh - 20px); padding: 16px; }
  .workspace #review-bulk-confirm-dialog { width: calc(100vw - 20px); height: calc(100vh - 20px); height: calc(100dvh - 20px); max-height: calc(100dvh - 20px); }
  #review-bulk-confirm-dialog h2 { min-width: 0; font-size: 18px; }
  .review-bulk-confirm-table { font-size: 14px; }
  .review-bulk-confirm-check-col { width: 32px; }
  .review-bulk-confirm-number-col { width: 30px; }
  .review-bulk-confirm-arrow-col { width: 24px; }
  .review-bulk-confirm-table th, .review-bulk-confirm-table td { padding: 8px 6px; }
  .review-bulk-confirm-check { width: 20px; height: 20px; }
  .workspace .table-scroll { max-width: 100%; -webkit-overflow-scrolling: touch; }
}
@media (min-width: 901px) {
  .workspace-order { height: 100vh; height: 100dvh; overflow: hidden; }
  .workspace-order .sidebar { min-height: 0; overflow-y: auto; }
  .workspace-order .content { height: 100vh; height: 100dvh; overflow: hidden; padding-bottom: 16px; }
}
@media (max-width: 900px) {
  .workspace-order { height: 100vh; height: 100dvh; overflow: hidden; display: flex; flex-direction: column; }
  .workspace-order .sidebar { flex: 0 0 auto; }
  .workspace-order .content { flex: 1 1 0; height: auto; overflow: hidden; padding-bottom: 10px; }
  .workspace-order .order-toolbar { padding: 0; }
  .workspace-order .order-draft-actions { flex-direction: row; align-items: center; gap: 8px; }
  .workspace-order .order-draft-actions .button { padding: 7px 9px; font-size: 12px; }
}
@media (max-width: 1000px) {
  .prices-history-panel > .list-heading { align-items: flex-start; flex-direction: column; }
  .prices-history-panel > .list-heading .toolbar-actions { width: 100%; }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .workspace-order .content { padding-inline: 16px; }
  .order-table th { padding-inline: 3px; font-size: 10px; }
}
@media (min-width: 901px) and (max-width: 1023px) {
  .order-catalog-col, .order-source-col { width: 17.5%; }
  .order-pitergsm-col { width: 12%; }
  .order-stock-col { width: 8%; }
  .order-supplier-col { width: 11%; }
  .order-price-col { width: 12%; }
  .order-ordered-col { width: 9%; }
  .order-quantity-col { width: 13%; }
}
.workspace-review .content { padding-bottom: 12px; }

:root { --workspace-art: url("/dashboard/entry/assets/workspace-background-v1.jpg"); }
.content, .login-page, .account-page, .service-unavailable {
  background-color: #f4f6f9;
  background-image: linear-gradient(180deg, #f4f6f9 0%, rgba(244, 246, 249, .96) 38%, rgba(244, 246, 249, .86) 100%), var(--workspace-art);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
}
.login-page { background-image: linear-gradient(180deg, rgba(244, 246, 249, .94), rgba(244, 246, 249, .70)), var(--workspace-art); }
.review-list:has(> .review-empty) {
  background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, .98) 38%, rgba(255, 255, 255, .78) 100%), var(--workspace-art);
  background-size: 100% 100%, 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
}
.sidebar, .login-brand, .account-hero-head {
  background-image: radial-gradient(ellipse at 100% 80%, rgba(63, 118, 202, .28), transparent 65%), linear-gradient(155deg, rgba(74, 108, 166, .12), rgba(10, 22, 42, .18));
}
.sidebar-art {
  position: relative;
  flex: 1 1 0;
  min-height: 0;
  max-height: 280px;
  overflow: hidden;
  pointer-events: none;
}
.sidebar-art::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--workspace-art) right bottom / auto 100% no-repeat;
  opacity: .20;
  mix-blend-mode: luminosity;
  -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 12%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000 12%, transparent 100%);
}
.nav a:hover { background-color: rgba(238, 244, 255, .08); }
.nav a[aria-current="page"] { background-color: #2d66d2; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 4px 14px rgba(8, 19, 39, .16); }
@media (max-width: 900px), (max-height: 760px) {
  .sidebar-art { display: none; }
}
@media (max-width: 900px) {
  .content, .login-page, .account-page, .service-unavailable, .review-list:has(> .review-empty) { background-image: none; }
}
@media (forced-colors: active), print {
  .content, .login-page, .account-page, .service-unavailable, .review-list:has(> .review-empty), .sidebar, .login-brand, .account-hero-head { background-image: none; }
  .sidebar-art { display: none; }
}
.prices-date-field { position: relative; min-width: 0; }
.prices-date-toggle { justify-content: space-between; width: 100%; min-width: 0; color: #172033; font-weight: 500; text-align: left; }
.prices-date-toggle span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prices-date-toggle:disabled { cursor: not-allowed; opacity: .58; }
.prices-date-calendar { position: absolute; top: calc(100% + 6px); left: 0; z-index: 20; width: min(334px, calc(100vw - 64px)); padding: 12px; border: 1px solid #cbd3df; border-radius: 8px; background: #fff; box-shadow: 0 16px 42px rgba(23, 32, 51, .18); }
.prices-date-calendar-heading { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 8px; }
.prices-date-calendar-heading strong { text-align: center; font-size: 14px; font-weight: 700; }
.prices-date-nav { width: 36px; height: 36px; font-size: 22px; }
.prices-date-nav:disabled, .prices-date-clear:disabled, .prices-date-day:disabled { cursor: not-allowed; opacity: .58; }
.prices-date-weekdays, .prices-date-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.prices-date-weekdays { margin-top: 10px; color: #657086; font-size: 11px; text-align: center; }
.prices-date-days { margin-top: 5px; }
.prices-date-spacer { min-height: 36px; }
.prices-date-day { min-width: 0; min-height: 36px; padding: 0; border: 1px solid transparent; border-radius: 6px; color: #172033; background: #fff; cursor: pointer; font: inherit; font-size: 13px; }
.prices-date-day:hover, .prices-date-day:focus-visible { border-color: #2d66d2; outline: 0; }
.prices-date-day.is-in-range { background: #edf3ff; }
.prices-date-day.is-start, .prices-date-day.is-end { color: #fff; border-color: #2d66d2; background: #2d66d2; }
.prices-date-day.is-today:not(.is-start):not(.is-end) { border-color: #9db4dc; font-weight: 700; }
.prices-date-clear { width: 100%; margin-top: 10px; }
@media (max-width: 900px) {
  .prices-date-calendar { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
}
@media (max-width: 600px) {
  .prices-date-calendar { width: 100%; }
  .prices-date-weekdays, .prices-date-days { gap: 3px; }
  .prices-date-day, .prices-date-spacer { min-height: 34px; }
}
@media (max-width: 900px) {
  .table-scroll[data-mobile-table-fitted] { overflow: clip !important; }
  table[data-mobile-table-fit] { table-layout: auto !important; max-width: none !important; transform-origin: top left; }
  table[data-mobile-table-fit] th, table[data-mobile-table-fit] td { max-width: none !important; }
  table[data-mobile-table-fit] th { position: static !important; }
  table[data-mobile-table-fit], table[data-mobile-table-fit] * { white-space: nowrap !important; overflow-wrap: normal !important; word-break: normal !important; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  table.mappings-table[data-mobile-table-fit] th, table.mappings-table[data-mobile-table-fit] td { padding: 8px 9px; }
  table[data-mobile-table-fit] .prices-actions,
  table[data-mobile-table-fit] .suppliers-actions,
  table[data-mobile-table-fit] .orders-row-actions,
  table[data-mobile-table-fit] .actions,
  table[data-mobile-table-fit] .inline-form { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; }
  table[data-mobile-table-fit] .mapping-key,
  table[data-mobile-table-fit] .catalog-readonly-action { max-width: none; }
}
@media (max-width: 900px) {
  .workspace-order .order-table-scroll .table-scroll[data-mobile-table-fitted] { overflow: visible !important; }
  .workspace-order .order-table[data-mobile-table-fit] th {
    position: sticky !important;
    top: 0;
    z-index: 2;
  }
}