:root {
  color-scheme: light;
  --sc-bg: #f3f5f7;
  --sc-surface: #fff;
  --sc-border: #d7dde3;
  --sc-text: #252831;
  --sc-muted: #68717b;
  --sc-brand: #8d1d5b;
  --sc-brand-dark: #6f1748;
  --sc-soft: #f8eef4;
  --sc-danger: #b42318;
  --sc-success: #20733b;
  --sc-warning: #8a5b00;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--sc-bg); color: var(--sc-text); font: 14px/1.45 Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
a { color: var(--sc-brand); }

.sc-header { min-height: 58px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #252831; color: #fff; }
.sc-brand { color: #fff; text-decoration: none; font-size: 20px; font-weight: 700; letter-spacing: .04em; }
.sc-brand span { margin-left: 8px; font-size: 14px; font-weight: 400; letter-spacing: 0; opacity: .8; }
.sc-nav { display: flex; align-items: stretch; align-self: stretch; }
.sc-nav a, .sc-nav-action { display: flex; align-items: center; padding: 0 16px; color: #fff; text-decoration: none; }
.sc-nav-user { display: flex; align-items: center; gap: 16px; padding-left: 16px; color: #fff; font-weight: 600; white-space: nowrap; }
.sc-nav-user::after { width: 1px; height: 20px; background: rgba(255, 255, 255, .28); content: ''; }
.sc-nav-action { border: 0; background: transparent; cursor: pointer; }
.sc-nav a:hover, .sc-nav a.active, .sc-nav-action:hover { background: var(--sc-brand); }

.sc-shell { width: min(1540px, calc(100% - 32px)); margin: 24px auto; }
.sc-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 12px; color: var(--sc-muted); font-size: 13px; }
.sc-breadcrumbs a { color: var(--sc-brand); text-decoration: none; }
.sc-breadcrumbs a:hover { text-decoration: underline; }
.sc-breadcrumbs span[aria-hidden="true"] { color: #a5adb6; }
.sc-breadcrumbs span[aria-current="page"] { color: var(--sc-text); font-weight: 700; }
.sc-panel { background: var(--sc-surface); border: 1px solid var(--sc-border); border-radius: 8px; }
.sc-intro { padding: 32px; }
.sc-intro h1, .sc-page-heading h1 { margin: 0 0 6px; }
.sc-kicker { margin: 0 0 4px; color: var(--sc-brand); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.sc-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.sc-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.sc-page-heading p:last-child { margin: 0; color: var(--sc-muted); }

.sc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 16px; border: 1px solid var(--sc-brand); border-radius: 4px; background: var(--sc-brand); color: #fff; text-decoration: none; cursor: pointer; }
.sc-button:hover { background: var(--sc-brand-dark); }
.sc-button.secondary { background: #fff; color: var(--sc-brand); }
.sc-button.danger { min-height: 32px; padding: 5px 10px; border-color: #d7a8a3; background: #fff; color: var(--sc-danger); }
.sc-button:disabled { cursor: not-allowed; opacity: .55; }
.sc-icon-button { width: 34px; height: 34px; border: 0; background: transparent; color: var(--sc-muted); font-size: 24px; cursor: pointer; }

.sc-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.sc-tab { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 14px; border: 1px solid var(--sc-border); border-radius: 6px; background: #fff; color: var(--sc-text); cursor: pointer; }
.sc-tab strong { min-width: 24px; padding: 2px 6px; border-radius: 999px; background: #edf0f2; text-align: center; }
.sc-tab:hover, .sc-tab.active { border-color: var(--sc-brand); color: var(--sc-brand); }
.sc-tab.active { background: var(--sc-soft); }
.sc-card-filters { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 12px; }
.sc-card-filter { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 6px 10px; border: 1px solid var(--sc-border); border-radius: 999px; background: #fff; color: var(--sc-text); cursor: pointer; }
.sc-card-filter strong { min-width: 22px; padding: 1px 5px; border-radius: 999px; background: #edf0f2; text-align: center; }
.sc-card-filter:hover, .sc-card-filter.active { border-color: var(--sc-brand); color: var(--sc-brand); }
.sc-card-filter.active { background: var(--sc-soft); }

.sc-import { margin-bottom: 16px; padding: 16px; }
.sc-import-title { display: flex; justify-content: space-between; gap: 20px; }
.sc-import-title h2 { margin: 0 0 4px; font-size: 18px; }
.sc-import-title p { margin: 0 0 14px; color: var(--sc-muted); }
.sc-import-grid { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(280px, 1fr); gap: 12px; }
.sc-import-grid .wide { grid-column: 1 / -1; }
.sc-import-grid label, .sc-form label { display: grid; gap: 5px; font-weight: 700; }

.sc-workgrid { display: grid; grid-template-columns: minmax(560px, .95fr) minmax(620px, 1.05fr); gap: 16px; align-items: start; }
.sc-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px 10px; }
.sc-list-head h2 { margin: 0; font-size: 18px; }
.sc-list-head span { color: var(--sc-muted); }
.sc-search { padding: 0 16px 12px; }
.sc-catalog-panel > #sc-list { padding: 0 16px 16px; }
.sc-catalog-panel > #sc-list .sc-table-wrap { border: 1px solid var(--sc-border); border-radius: 4px; }
.sc-search input, .sc-import-grid input, .sc-import-grid select, .sc-import-grid textarea,
.sc-form input, .sc-form select, .sc-form textarea, .sc-inline-form input, .sc-inline-form select {
  width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #b9c2cc; border-radius: 4px; background: #fff; color: var(--sc-text);
}
.sc-import-grid textarea, .sc-form textarea { min-height: 72px; resize: vertical; }

.sc-table-wrap { overflow: auto; max-height: 690px; border-top: 1px solid var(--sc-border); border-radius: 0 0 8px 8px; }
.sc-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.sc-table th, .sc-table td { padding: 5px 7px; border-bottom: 1px solid #e5e9ed; text-align: left; vertical-align: top; line-height: 1.2; overflow-wrap: anywhere; }
.sc-table th { position: sticky; top: 0; z-index: 1; background: #eef1f4; font-size: 12px; }
.sc-table th:first-child { width: 38%; }
.sc-table th:nth-child(2) { width: 37%; }
.sc-table th:nth-child(3) { width: 9%; }
.sc-table th:nth-child(4) { width: 16%; }
.sc-table tbody tr { cursor: pointer; }
.sc-table tbody tr:hover, .sc-table tbody tr.selected { background: var(--sc-soft); }
.sc-table td small, .sc-compatible-row small, .sc-field-list small { display: block; color: var(--sc-muted); }
.sc-table .number { text-align: center; white-space: nowrap; }
.sc-tree-table th:first-child { width: auto; }
.sc-tree-table th:nth-child(2) { width: 58px; text-align: center; }
.sc-tree-table th:nth-child(3) { width: 86px; }
.sc-tree-table th:nth-child(4) { width: 104px; }
.sc-tree-table-wrap { overflow-x: hidden; }
.sc-tree-table .sc-status { box-sizing: border-box; max-width: 100%; text-align: center; }
.sc-tree-table .sc-group-row { cursor: default; background: #f4f6f8; }
.sc-tree-table .sc-group-row:hover { background: #e9edf1; }
.sc-tree-table .sc-group-row td { height: 28px; padding-top: 4px; padding-bottom: 4px; }
.sc-group-toggle { display: inline-block; width: 18px; padding: 0; border: 0; background: transparent; color: var(--sc-muted); cursor: pointer; font: inherit; text-align: left; }
.sc-group-select { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; text-align: left; }
.sc-group-select:hover strong, .sc-group-select:focus-visible strong { color: var(--sc-brand); text-decoration: underline; }
.sc-group-count { display: inline-block; min-width: 23px; margin-left: 7px; padding: 1px 6px; border-radius: 10px; background: #dfe5ea; color: #46515c; font-size: 11px; text-align: center; }
.sc-tree-table .sc-group-row.level-1 td:first-child { padding-left: 22px; }
.sc-tree-table .sc-group-row.level-2 td:first-child { padding-left: 40px; }
.sc-tree-table .sc-group-row.level-3 td:first-child { padding-left: 58px; }
.sc-tree-table .sc-group-row.level-4 td:first-child { padding-left: 76px; }
.sc-tree-table .sc-tree-item td:first-child { padding-left: 82px; }
.sc-tree-table .sc-tree-item td { height: 30px; vertical-align: middle; }
.sc-warning-text { color: var(--sc-warning); }
.sc-status { display: inline-block; padding: 3px 7px; border-radius: 999px; font-size: 12px; white-space: nowrap; }
.sc-status.review { background: #fff3d6; color: var(--sc-warning); }
.sc-status.active { background: #e8f5eb; color: var(--sc-success); }
.sc-status.archived { background: #eceff1; color: var(--sc-muted); }
.sc-status.service-not_started { background: #eceff1; color: var(--sc-muted); }
.sc-status.service-in_progress { background: #fff3d6; color: var(--sc-warning); }
.sc-status.service-done { background: #e8f5eb; color: var(--sc-success); }
.sc-group-template-open { border: 0; cursor: pointer; font: inherit; }
.sc-template-service-list { display: grid; gap: 8px; }
.sc-template-service-option { align-items: flex-start; padding: 10px 12px; border: 1px solid var(--sc-border); border-radius: 6px; }
.sc-template-service-option span { display: grid; gap: 2px; }
.sc-template-service-option small { color: var(--sc-muted); }
.sc-effective-template { padding-top: 16px; }
.sc-effective-template > .sc-muted { margin: -2px 0 12px; }
.sc-effective-service-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sc-effective-service { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: start; padding: 9px 10px; border: 1px solid #e2e7eb; border-radius: 5px; background: #f8fafb; }
.sc-effective-service-number { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #e7edf2; color: #52606d; font-size: 12px; font-weight: 700; }
.sc-effective-service strong, .sc-effective-service small { display: block; }
.sc-effective-service small { margin-top: 2px; color: var(--sc-muted); }

.sc-detail { min-height: 240px; }
.sc-detail-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 14px 16px; border-bottom: 1px solid var(--sc-border); }
.sc-detail-head p { margin: 0 0 2px; color: var(--sc-muted); }
.sc-detail-head h2 { margin: 0; font-size: 18px; }
.sc-review-box { margin: 14px 16px 0; padding: 10px 12px; border-left: 4px solid #d69a18; background: #fff7e4; color: #664400; }
.sc-review-box ul { margin: 5px 0 0; padding-left: 20px; }
.sc-form { display: grid; gap: 12px; padding: 16px; }
.sc-form-row { display: grid; grid-template-columns: 1fr 2fr; gap: 12px; }
.sc-form-row.three { grid-template-columns: repeat(3, 1fr); }
.sc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sc-subsection { margin: 0 16px; padding: 14px 0; border-top: 1px solid #e5e9ed; }
.sc-subsection h3 { margin: 0 0 9px; font-size: 15px; }
.sc-template-name { margin: 0 0 8px; font-weight: 700; }
.sc-field-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.sc-field-list span { padding: 8px; border: 1px solid #e4e8eb; border-radius: 4px; }
.sc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.sc-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; background: #eef1f4; }
.sc-chip button { border: 0; background: transparent; color: var(--sc-danger); cursor: pointer; }
.sc-inline-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.sc-compatible-list { display: grid; gap: 6px; margin-bottom: 10px; }
.sc-compatible-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 8px; border: 1px solid #e4e8eb; border-radius: 4px; }
.sc-source-list { display: grid; gap: 6px; }
.sc-source-list a { display: grid; gap: 2px; padding: 8px 10px; border: 1px solid #e4e8eb; border-radius: 4px; color: #1769aa; text-decoration: none; }
.sc-source-list a:hover { background: var(--sc-soft); }
.sc-source-list small { color: var(--sc-muted); }
.sc-source-warning { display: grid; gap: 4px; margin-bottom: 8px; padding: 8px 10px; border-left: 3px solid var(--sc-warning); background: #fff7df; color: var(--sc-warning); }
.sc-source-warning span { color: var(--sc-text); }
.sc-muted { color: var(--sc-muted); }
.sc-empty { padding: 32px 16px; color: var(--sc-muted); text-align: center; }
.sc-loading { padding: 40px; text-align: center; color: var(--sc-muted); }
.sc-notice { position: fixed; top: 14px; left: 50%; z-index: 50; width: min(720px, calc(100% - 32px)); transform: translateX(-50%); padding: 11px 14px; border: 1px solid #a8c9b2; border-radius: 5px; background: #eaf6ed; box-shadow: 0 8px 30px rgba(0,0,0,.15); color: var(--sc-success); }
.sc-notice.error { border-color: #e0aaa5; background: #fff0ef; color: var(--sc-danger); }

.sc-service-catalog-table { min-width: 720px; }
.sc-service-catalog-panel > #sc-service-list .sc-table-wrap { max-height: none; overflow-x: auto; overflow-y: visible; }
.sc-service-catalog-table th:first-child { width: 58px; text-align: center; }
.sc-service-catalog-table th:nth-child(2) { width: auto; }
.sc-service-catalog-table th:nth-child(3) { width: 130px; }
.sc-service-catalog-table th:nth-child(4) { width: 110px; text-align: center; }
.sc-service-catalog-table th:nth-child(5) { width: 130px; }
.sc-service-catalog-table tbody tr { cursor: default; }
.sc-service-catalog-table .sc-service-group-row th { position: static; padding: 9px 12px; background: #e8edf2; color: var(--sc-text); font-size: 14px; text-align: left; }
.sc-service-catalog-table .sc-service-group-row:hover { background: transparent; }
.sc-service-catalog-table .sc-service-subrow td:nth-child(2) { padding-left: 24px; }
.sc-service-name-link { padding: 0; border: 0; background: transparent; color: var(--sc-brand); font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.sc-service-name-link:hover, .sc-service-name-link:focus-visible { text-decoration: underline; }
.sc-service-price-input, .sc-service-pricing-select { box-sizing: border-box; width: 100%; min-height: 32px; padding: 5px 7px; border: 1px solid #b9c2cc; border-radius: 4px; background: #fff; color: var(--sc-text); }
.sc-service-product-cell { text-align: center !important; vertical-align: middle !important; }
.sc-service-product-cell input { width: 18px; height: 18px; margin: 0; }
.sc-service-card-dialog { width: min(680px, calc(100vw - 32px)); padding: 0; }
.sc-service-card-dialog #sc-detail { min-height: 0; }
.sc-service-card-dialog .sc-form { padding: 18px 20px 20px; }
.sc-service-card-dialog .sc-detail-head { padding: 16px 20px; }
.sc-service-usage { padding: 0 20px 20px; }
.sc-service-usage-row { border-top: 1px solid #d5deeb; padding: 12px 0; overflow-wrap: anywhere; }
.sc-service-usage-row .sc-button { margin-top: 8px; }
.sc-service-usage-row label { display: grid; gap: 6px; margin-top: 10px; }
.sc-service-usage-row select { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
.sc-pricing-rules { margin-top: 16px; padding: 16px; }
.sc-pricing-rules-head h2 { margin: 0 0 4px; font-size: 18px; }
.sc-pricing-rules-head p { margin: 0 0 14px; color: var(--sc-muted); }
.sc-pricing-rules-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 10px; margin-bottom: 12px; }
.sc-pricing-rules-grid label { display: grid; grid-template-columns: minmax(0, 1fr) 70px; align-items: center; gap: 7px; padding: 10px; border: 1px solid var(--sc-border); border-radius: 5px; background: #f7f9fa; }
.sc-pricing-rules-grid label > span:first-child { grid-column: 1 / -1; font-weight: 700; }
.sc-pricing-formula { color: var(--sc-muted); font-size: 12px; white-space: nowrap; }
.sc-pricing-rules-grid input { box-sizing: border-box; width: 70px; min-height: 34px; padding: 6px 7px; border: 1px solid #b9c2cc; border-radius: 4px; background: #fff; }
.sc-equipment-services .sc-table-wrap { max-height: none; margin-bottom: 10px; border: 1px solid var(--sc-border); border-radius: 4px; overflow: visible; }
.sc-clean-service { display: inline-block; margin-bottom: 6px; padding: 3px 7px; border-radius: 999px; background: #eef1f4; color: var(--sc-muted); font-size: 12px; }
.sc-service-offer { display: grid; gap: 2px; margin-bottom: 6px; padding: 6px 8px; border-left: 3px solid var(--sc-success); background: #edf7f0; }
.sc-service-offer.missing { border-color: var(--sc-warning); background: #fff7df; }
.sc-link-button { width: max-content; padding: 0; border: 0; background: transparent; color: var(--sc-brand); text-decoration: underline; cursor: pointer; }
.sc-offer-picker { position: relative; }
.sc-offer-query { width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid #b9c2cc; border-radius: 4px; }
.sc-offer-results { position: absolute; top: calc(100% + 2px); right: 0; left: 0; z-index: 8; max-height: 260px; overflow: auto; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.sc-offer-result { display: grid; width: 100%; gap: 2px; padding: 7px 9px; border: 0; border-bottom: 1px solid #e5e9ed; background: #fff; color: var(--sc-text); text-align: left; cursor: pointer; }
.sc-offer-result:hover, .sc-offer-result.active { background: var(--sc-soft); }
.sc-offer-result small { color: var(--sc-muted); }


.sc-service-template-tools { display: grid; gap: 9px; margin: 0 0 12px; padding: 10px; border: 1px solid #dce2e7; border-radius: 5px; background: #f7f9fa; }
.sc-service-template-tools > div:first-child { display: grid; gap: 2px; }
.sc-service-template-tools small { color: var(--sc-muted); }
.sc-service-template-tools > input { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #b9c2cc; border-radius: 4px; background: #fff; color: var(--sc-text); }
#sc-service-template-results { display: grid; gap: 5px; }
.sc-service-template-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 7px 8px; border: 1px solid #e2e7eb; border-radius: 4px; background: #fff; }
.sc-service-template-row div { min-width: 0; }
.sc-service-template-row strong, .sc-service-template-row small { display: block; overflow-wrap: anywhere; }
.sc-equipment-note { margin-top: 2px; }
.sc-equipment-note .sc-form { padding: 0; }
.sc-equipment-note textarea { min-height: 68px; }

.sc-request-workspace { overflow: hidden; }
.sc-request-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--sc-border); }
.sc-request-head h2 { margin: 0 0 2px; font-size: 18px; }
.sc-request-head p { margin: 0; color: var(--sc-muted); }
.sc-request-head-actions { display: flex; align-items: center; gap: 10px; }
.sc-view-switch { display: flex; flex: 0 0 auto; gap: 4px; padding: 3px; border: 1px solid var(--sc-border); border-radius: 5px; background: #f4f6f8; }
.sc-view-switch button { min-height: 32px; padding: 5px 11px; border: 0; border-radius: 3px; background: transparent; color: var(--sc-muted); cursor: pointer; }
.sc-view-switch button.active { background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.12); color: var(--sc-brand); }
.sc-request-table-wrap { width: 100%; overflow-x: auto; }
.sc-request-table { width: 100%; min-width: 1040px; border-collapse: collapse; table-layout: fixed; }
.sc-request-table th, .sc-request-table td { padding: 7px 8px; border-right: 1px solid var(--sc-border); border-bottom: 1px solid var(--sc-border); vertical-align: middle; overflow-wrap: anywhere; }
.sc-request-table th:last-child, .sc-request-table td:last-child { border-right: 0; }
.sc-request-table th { background: #eef1f4; font-size: 12px; line-height: 1.15; text-align: left; }
.sc-request-table .sc-col-number { width: 52px; }
.sc-request-table .sc-col-customer { width: 19%; }
.sc-request-table .sc-col-service { width: 26%; }
.sc-request-table .sc-col-product { width: auto; }
.sc-request-table .sc-col-quantity { width: 48px; }
.sc-request-table .sc-col-unit { width: 42px; }
.sc-request-table .sc-col-price { width: 106px; }
.sc-request-table .sc-col-customer-service { width: auto; }
.sc-request-table th:first-child, .sc-request-table td:first-child,
.sc-request-table th:nth-last-child(-n+3), .sc-request-table td:nth-last-child(-n+3) { text-align: center; }
.sc-request-table-work.sc-request-table-without-source-title .sc-col-customer,
.sc-request-table-work.sc-request-table-without-source-title th:nth-child(2),
.sc-request-table-work.sc-request-table-without-source-title td:nth-child(2) { display: none; }
.sc-request-equipment-row td { background: #f7f9fa; font-weight: 700; }
.sc-request-equipment-name { color: var(--sc-brand-dark); }
.sc-request-table-work .sc-request-compact-cell, .sc-request-table-customer .sc-request-service-row td:nth-child(2) { padding-left: 22px; }
.sc-request-search { position: relative; display: block; width: 100%; font-weight: 400; text-align: left; }
.sc-request-search > input { width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid #b9c2cc; border-radius: 4px; background: #fff; color: var(--sc-text); }
.sc-request-search > input:focus { border-color: var(--sc-brand); outline: 2px solid rgba(157, 23, 94, .12); }
.sc-request-search-results { position: absolute; z-index: 30; top: calc(100% + 3px); left: 0; right: 0; max-height: 300px; overflow-y: auto; border: 1px solid #aeb8c2; border-radius: 4px; background: #fff; box-shadow: 0 7px 20px rgba(20, 29, 40, .18); }
.sc-request-search-heading { padding: 6px 9px; background: #eef1f4; color: var(--sc-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.sc-request-search-result { display: block; width: 100%; padding: 7px 9px; border: 0; border-bottom: 1px solid #e2e6ea; background: #fff; color: var(--sc-text); text-align: left; cursor: pointer; }
.sc-request-search-result:last-child { border-bottom: 0; }
.sc-request-search-result:hover, .sc-request-search-result:focus { background: #f8edf3; outline: 0; }
.sc-request-search-result strong, .sc-request-search-result small { display: block; }
.sc-request-search-result small { margin-top: 2px; color: var(--sc-muted); font-size: 11px; }
.sc-request-product-line { position:relative; display:flex; gap:4px; align-items:start; margin-bottom:4px; }
.sc-request-product-line .sc-request-search { position:static; flex:1; min-width:0; }
.sc-request-product-line .sc-request-search-results { top:calc(100% + 3px); width:100%; box-sizing:border-box; }
.sc-request-product-quantity-wrap { width:44px; min-width:40px; max-width:100px; resize:horizontal; overflow:auto; flex-shrink:0; }
.sc-request-product-quantity { box-sizing:border-box; width:100%; min-height:34px; padding:4px; border:1px solid #b9c2cc; border-radius:4px; }
.sc-request-product-add, .sc-request-product-remove { min-width:24px; min-height:28px; text-align:center; font-size:18px; }
.sc-request-product-add, .sc-request-product-remove { white-space: nowrap; }
.sc-request-row-actions { position: relative; display: inline-block; }
.sc-request-row-actions[hidden] { display: none; }
.sc-request-row-actions > summary { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--sc-brand); border-radius: 4px; color: var(--sc-brand); font-size: 20px; line-height: 1; cursor: pointer; list-style: none; }
.sc-request-row-actions > summary::-webkit-details-marker { display: none; }
.sc-request-row-actions[open] > summary { background: var(--sc-brand); color: #fff; }
.sc-request-row-actions-menu { position: absolute; z-index: 35; top: calc(100% + 4px); left: 0; display: grid; min-width: 240px; overflow: hidden; border: 1px solid #aeb8c2; border-radius: 4px; background: #fff; box-shadow: 0 7px 20px rgba(20, 29, 40, .18); }
.sc-request-row-actions-menu button { padding: 9px 11px; border: 0; border-bottom: 1px solid #e2e6ea; background: #fff; color: var(--sc-text); text-align: left; cursor: pointer; }
.sc-request-row-actions-menu button:last-child { border-bottom: 0; }
.sc-request-row-actions-menu button:hover, .sc-request-row-actions-menu button:focus { background: #f8edf3; outline: 0; }
.sc-request-row-actions-menu button:disabled { color: #9aa3ad; cursor: not-allowed; }
  .sc-request-search-empty { padding: 10px; color: var(--sc-muted); text-align: center; }
  .sc-service-create-dialog { width: min(460px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 8px; box-shadow: 0 18px 55px rgba(20, 29, 40, .3); color: var(--sc-text); }
  .sc-service-create-dialog::backdrop { background: rgba(20, 29, 40, .48); }
  .sc-service-create-dialog form { display: grid; gap: 14px; padding: 22px; }
  .sc-service-create-dialog h3 { margin: 0 0 2px; font-size: 20px; }
  .sc-service-create-dialog label { display: grid; gap: 5px; font-weight: 700; }
  .sc-service-create-dialog input[type="text"], .sc-service-create-dialog input[type="number"] { min-height: 38px; padding: 7px 9px; border: 1px solid #b9c2cc; border-radius: 4px; font: inherit; }
  .sc-service-create-dialog .sc-service-create-check { display: flex; align-items: center; gap: 8px; font-weight: 400; }
  .sc-service-create-error { margin: 0; color: #b42318; }
  .sc-service-create-actions { display: flex; justify-content: flex-end; gap: 8px; }
.sc-request-empty-row td { height: 96px; color: var(--sc-muted); text-align: center !important; }
.sc-catalog-link { margin-top: 16px; padding: 18px; }
.sc-catalog-link h2 { margin: 0 0 4px; font-size: 18px; }
.sc-catalog-link p:not(.sc-kicker) { margin: 0 0 12px; color: var(--sc-muted); }
.sc-document-panel { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 18px; align-items: center; margin-top: 16px; padding: 18px; }
.sc-document-panel h2, .sc-document-panel p { margin: 0; }
.sc-document-panel h2 { margin-top: 4px; }
.sc-document-actions { display: flex; align-items: center; gap: 12px; }
[data-sc-section-totals] { grid-column: 1 / -1; }
[data-sc-section-totals]:empty { display: none; }
.sc-price-issues { grid-column: 1 / -1; padding: 10px 12px; border-radius: 6px; background: #fff5e4; color: #75510b; font-size: 13px; }
.sc-price-issues ul { margin: 6px 0 0; padding-left: 20px; }
.sc-document-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; border-top: 1px solid var(--sc-border); }
.sc-document-links[hidden] { display: none; }
.sc-document-link { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 12px; border: 1px solid var(--sc-brand); border-radius: 4px; color: var(--sc-brand); text-decoration: none; font-weight: 600; }
@media (max-width: 1100px) {
  .sc-workgrid { grid-template-columns: 1fr; }
  .sc-table-wrap { max-height: 520px; }
  .sc-pricing-rules-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
}
@media (max-width: 700px) {
  .sc-header { align-items: flex-start; flex-direction: column; padding: 12px 16px 0; }
  .sc-nav { width: 100%; flex-wrap: wrap; }
  .sc-nav a, .sc-nav-user, .sc-nav-action { min-height: 42px; }
  .sc-shell { width: min(100% - 16px, 1540px); margin: 12px auto; }
  .sc-page-heading, .sc-tabs { align-items: stretch; flex-direction: column; }
  .sc-card-filters { align-items: stretch; flex-direction: column; }
  .sc-card-filter { justify-content: space-between; border-radius: 6px; }
  .sc-import-grid, .sc-form-row, .sc-form-row.three, .sc-field-list { grid-template-columns: 1fr; }
  .sc-pricing-rules-grid { grid-template-columns: 1fr; }
  .sc-import-grid .wide { grid-column: auto; }
  .sc-table th:nth-child(2), .sc-table td:nth-child(2) { display: none; }
  .sc-table th:first-child { width: 55%; }
  .sc-table th:nth-child(3) { width: 15%; }
  .sc-table th:nth-child(4) { width: 30%; }
  .sc-service-catalog-table th:nth-child(2), .sc-service-catalog-table td:nth-child(2) { display: table-cell; }
  .sc-request-head { align-items: stretch; flex-direction: column; }
  .sc-request-head-actions { width: 100%; flex-wrap: wrap; }
  .sc-view-switch { width: 100%; }
  .sc-view-switch button { flex: 1; }
  .sc-document-panel { grid-template-columns: 1fr; }
  .sc-document-links { grid-column: 1; }
}

.sc-equipment-services-list { display: grid; grid-template-columns: 24px 42px minmax(0, max-content) 170px minmax(0, 1fr) max-content 18px; column-gap: 7px; border: 1px solid var(--sc-border, #dce2e7); border-radius: 4px; margin-bottom: 10px; }
.sc-equipment-service-block { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; padding: 5px 8px; border-bottom: 1px solid var(--sc-border, #dce2e7); }
.sc-equipment-service-block:last-child { border-bottom: 0; }
.sc-compact-service-head { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; gap: 7px; align-items: center; min-height: 28px; }
.sc-compact-service-title, .sc-compact-product-title, .sc-compact-provider, .sc-compact-sku { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.sc-equipment-service-block.is-ready { background: #e8f6ed; }
.sc-equipment-service-block.needs-fill { background: #fff9ec; }
.sc-compact-position-actions { display: flex; align-items: center; gap: 6px; }
.sc-compact-position-actions button { min-width: 16px; }

.sc-compact-service-price { white-space: nowrap; }
.sc-compact-tz, .sc-service-article, .sc-compact-quantity { display: flex !important; flex-direction: row; align-items: center; gap: 4px; margin: 0; white-space: nowrap; font-size: 12px; }
.sc-compact-tz input { width: 16px; height: 16px; margin: 0; }
.sc-equipment-service-block input { min-width: 0; min-height: 26px; height: 26px; padding: 3px 6px; border: 1px solid #b9c2cc; border-radius: 3px; font-size: 12px; }
.sc-service-article { grid-column: 4 / 6; min-width: 0; }
.sc-service-article + span { display: none; }
.sc-service-article input { field-sizing: content; width: auto; min-width: min(170px, 100%); max-width: 100%; }
.sc-compact-products { grid-column: 2 / -1; min-width: 0; }
.sc-compact-products > .sc-add-service-product { width: 42px; }
.sc-compact-product { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(105px, 190px) 99px; align-items: center; gap: 6px; min-height: 30px; font-size: 12px; }
.sc-compact-product + .sc-compact-product { border-top: 1px dotted #dce2e7; }
.sc-compact-provider { color: var(--sc-muted); }
.sc-compact-quantity input { width: 54px; }
.sc-compact-product .sc-offer-picker { min-width: 0; grid-column: span 2; }
.sc-compact-product .sc-offer-query { width: 100%; }
.sc-product-searching { grid-template-columns: 42px minmax(0, 1fr) minmax(105px, 190px) 99px; }
.sc-missing-product { grid-column: 2 / -1; color: #936400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-equipment-service-block .sc-link-button { padding: 0; min-height: 24px; }
@media (max-width: 720px) {
  .sc-equipment-services-list { grid-template-columns: 20px 38px minmax(0, 1fr) 130px 0 minmax(60px, max-content) 16px; column-gap: 4px; }
  .sc-compact-product { grid-template-columns: 38px minmax(0, 1fr) 85px; }
  .sc-compact-provider { grid-row: 2; grid-column: 2; }
  .sc-product-searching .sc-offer-picker { grid-column: 2; }
}
.sc-tz-cell { text-align: center; }
.sc-tz-cell input { width: 18px; height: 18px; }
.sc-service-product-fields { display: grid; grid-template-columns: 90px minmax(150px, 1fr); gap: 6px; margin-top: 6px; }
.sc-service-product-fields label { display: grid; gap: 2px; color: var(--sc-muted); font-size: 11px; }
.sc-service-product-fields input { min-width: 0; min-height: 32px; padding: 5px 7px; border: 1px solid #b9c2cc; border-radius: 4px; }
.sc-service-product-position { display: grid; gap: 6px; margin-bottom: 8px; padding: 8px; border: 1px solid #dce2e7; border-radius: 4px; background: #f8fafb; }
.sc-service-product-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sc-service-product-position .sc-service-product-fields { margin-top: 0; }
.sc-compatibility-readonly .sc-compatible-list { margin-bottom: 0; }
.sc-checkbox { display: flex !important; align-items: center; gap: 8px; }
.sc-checkbox input { width: 18px; height: 18px; }
.sc-button-secondary { background: #fff; color: #991b5a; border: 1px solid #991b5a; text-decoration: none; }
.sc-home { min-height: calc(100vh - 58px); }
.sc-list-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.sc-page-access-note { max-width:280px; margin:0; color:var(--sc-muted); text-align:right; }
.sc-create-request { margin-bottom:16px; padding:16px; }
.sc-create-request h2 { margin:0 0 16px; font-size:18px; }
.sc-create-request form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.sc-create-request form > label { min-width:0; }
.sc-create-request label { position:relative; display:grid; gap:6px; font-weight:600; }
.sc-create-request label > input:not([type="hidden"]) { width:100%; min-width:0; }
.sc-create-request label > small { display:block; color:var(--sc-muted); font-weight:400; line-height:1.45; }
.sc-create-request input,.sc-source-controls select,.sc-source-controls input { min-height:38px; border:1px solid #cbd3df; border-radius:5px; padding:8px 10px; background:#fff; }
.sc-form-actions { grid-column:1/-1; display:flex; align-items:center; gap:10px; }
.sc-create-request .sc-form-actions { flex-wrap:wrap; }
.sc-customer-results { position:absolute; z-index:20; top:100%; left:0; right:0; background:#fff; border:1px solid #cbd3df; box-shadow:0 8px 22px rgba(31,41,55,.16); }
.sc-customer-results button { display:block; width:100%; padding:9px 10px; border:0; border-bottom:1px solid #e3e8ef; background:#fff; text-align:left; cursor:pointer; }
.sc-client-create-panel { grid-column:1/-1; padding:16px; border:1px solid #cbd3df; border-radius:6px; background:#f8fafc; }
.sc-client-create-panel > p { margin:0 0 16px; color:var(--sc-muted); }
.sc-client-create-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.sc-client-create-fields label { min-width:0; }
.sc-client-create-fields input { width:100%; min-width:0; }
.sc-client-create-panel .sc-form-actions { margin-top:12px; }
.sc-client-create-panel .sc-customer-results { position:static; margin-top:10px; }
.sc-request-customer-card { margin-bottom:12px; padding:10px 16px; }
.sc-request-customer-card .client-context-card { margin:8px 0 0; padding:10px 16px; }
.sc-request-customer-card .client-context-card h3 { margin-bottom:6px; }
.sc-request-customer-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; }
.sc-request-customer-fields { display:grid; grid-template-columns:minmax(260px,360px) minmax(420px,1fr); gap:18px; }
.sc-request-lifecycle-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; min-height:38px; }
.sc-request-customer-form label { position:relative; display:grid; gap:8px; font-weight:400; }
.sc-request-customer-field { grid-template-columns:auto minmax(0,1fr); align-items:center; }
.sc-request-customer-field > span { font-weight:600; white-space:nowrap; }
.sc-customer-resolver { grid-column:1 / -1; min-width:0; }
.sc-customer-resolver form { grid-template-columns:minmax(0,1fr); }
.sc-email-candidates { min-width:0; border:1px solid #d5dce6; border-radius:6px; padding:12px; }
.sc-email-candidates > div > div { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:10px; }
.sc-email-candidates label { flex:1; overflow-wrap:anywhere; }
.sc-create-request input[type="checkbox"] { width:auto; min-height:0; }
.sc-request-customer-form input { min-height:38px; border:1px solid #cbd3df; border-radius:5px; padding:8px 10px; background:#fff; font-weight:400; }
.sc-request-customer-form .sc-form-actions { margin:0; min-height:38px; align-items:center; }
.sc-request-customer-form [hidden] { display:none; }
.sc-request-customer-form [data-sc-customer-status] { color:var(--sc-muted); font-size:13px; font-weight:400; }
.sc-customer-profile-panel { display:grid; gap:16px; max-width:1100px; padding:16px; background:#fff; }
.sc-customer-profile-identity { display:grid; grid-template-columns:minmax(220px,320px) minmax(360px,1fr); gap:18px; padding-bottom:16px; border-bottom:1px solid #e1e6ec; }
.sc-customer-profile-identity-field { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:8px; min-width:0; }
.sc-customer-profile-identity span { font-weight:600; white-space:nowrap; }
.sc-customer-profile-identity strong { min-height:38px; padding:9px 10px; overflow:hidden; border:1px solid #cbd3df; border-radius:5px; background:#f8fafc; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.sc-customer-profile-incoming-contacts { padding:14px 0; border-bottom:1px solid #e1e6ec; }
.sc-customer-profile-incoming-contacts h2 { margin:0 0 8px; font-size:16px; }
.sc-customer-profile-incoming-contacts ul { display:grid; gap:6px; margin:0; padding-left:20px; }
.sc-customer-profile-incoming-contacts li { color:var(--sc-text); }
.sc-customer-profile-panel form { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; align-items:end; }
.sc-customer-profile-panel form label { display:grid; gap:6px; font-weight:600; }
.sc-customer-profile-panel form input { min-height:38px; border:1px solid #cbd3df; border-radius:5px; padding:8px 10px; background:#fff; font-weight:400; }
.sc-customer-profile-panel .sc-form-actions { margin-top:2px; padding-top:14px; border-top:1px solid #edf0f4; }
.sc-customer-profile-panel [data-sc-profile-status] { color:var(--sc-muted); font-size:13px; font-weight:400; }
@media (max-width:800px) {
  .sc-request-customer-form,.sc-request-customer-fields,.sc-customer-profile-identity,.sc-customer-profile-panel form { grid-template-columns:1fr; }
}
.sc-list-table-wrap { overflow-x:auto; border-radius:0 0 8px 8px; }
.sc-list-table { width:100%; min-width:744px; border-collapse:collapse; }
.sc-list-table th,.sc-list-table td { padding:9px 10px; border-bottom:1px solid #d8dee8; text-align:left; vertical-align:middle; }
.sc-list-table thead th { background:#e9eef5; }
.sc-list-table a { color:#9f1454; font-weight:700; }
.sc-status { display:inline-block; padding:3px 8px; border-radius:12px; background:#e8f6ed; color:#176b39; }
.sc-source-mapping { margin-bottom:16px; }
.sc-source-model-preview { background:#fff; border:1px solid #cbd3df; border-radius:6px; padding:12px 16px; margin:12px 0; }
.sc-source-model-preview h4 { margin:0 0 8px; font-size:16px; }
.sc-source-model-actions { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.sc-source-model-actions h4 { margin:0; margin-right:8px; }
.sc-source-roles summary { cursor:pointer; padding:8px 0; font-weight:600; }
.sc-source-validation { color:#a4132b; padding:12px; margin:12px 0; border:1px solid #c62828; border-radius:6px; background:#fff4f4; }
.sc-source-invalid { outline:2px solid #c62828; outline-offset:2px; background-color:#fff4f4; }
.sc-source-mapping[hidden], .sc-source-mapping [hidden] { display:none !important; }
.sc-source-controls { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.sc-source-controls label { display:grid; gap:4px; }
.sc-source-rule-status { margin:10px 0; color:var(--sc-muted); }
.sc-source-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:10px; margin:14px 0; }
.sc-source-columns label,.sc-source-actions label { display:grid; gap:5px; color:var(--sc-muted); }
.sc-source-columns select,.sc-source-actions input { min-height:38px; border:1px solid #cbd3df; border-radius:5px; padding:8px 10px; background:#fff; color:var(--sc-text); }
.sc-source-preview { margin-top:14px; overflow:auto; max-height:320px; border:1px solid #d8dee8; }
.sc-source-table { min-width:720px; }
.sc-source-result { display:grid; gap:8px; margin-top:14px; padding:12px; border:1px solid #b7d7c0; border-radius:5px; background:#f2faf4; }
.sc-source-result p { margin:0; color:var(--sc-success); }
.sc-source-result-group { padding-top:7px; border-top:1px solid #d7eadc; }
.sc-source-result-group:first-of-type { border-top:0; }
.sc-source-result-group ul { margin:5px 0 0 20px; }
.sc-source-actions { display:flex; align-items:end; flex-wrap:wrap; gap:10px; margin-top:14px; }
.sc-source-actions label { min-width:250px; flex:1; }
@media (max-width:800px) { .sc-create-request form,.sc-client-create-fields { grid-template-columns:1fr; } .sc-form-actions { grid-column:auto; } }
.sc-response-panel { margin-top: 18px; padding-top: 16px; border-top: 1px solid #d5dce6; }
.sc-response-panel h3 { margin: 0 0 6px; }
.sc-response-routes { display: grid; gap: 6px; margin: 12px 0; }
.sc-response-route { padding: 10px; border: 1px solid #d7dee8; border-radius: 5px; background: #f8fafc; font-size: 13px; }
.sc-response-route-meta { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(260px, 1.8fr) minmax(150px, 1fr) auto; gap: 12px; align-items: center; }
.sc-response-subject { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 8px; padding-top: 8px; border-top: 1px solid #d7dee8; }
.sc-response-subject strong { font-size: 14px; }
.sc-response-message { margin-top: 8px; padding: 12px 14px; background: #fff; }
.sc-response-message[hidden] { display: none; }
.sc-response-message > div { line-height: 1.45; color: #404956; }
.sc-link-button { padding: 0; border: 0; background: transparent; color: #981353; cursor: pointer; text-decoration: underline; font: inherit; white-space: nowrap; }
.sc-auth-shell { width: min(440px, calc(100% - 32px)); margin: 64px auto; }
.sc-auth-panel { padding: 28px; }
.sc-auth-panel h1 { margin: 0 0 6px; }
.sc-auth-form { display: grid; gap: 14px; margin-top: 22px; }
.sc-auth-form[hidden] { display: none; }
.sc-auth-form label { display: grid; gap: 6px; font-weight: 600; }
.sc-auth-form input { min-height: 40px; padding: 8px 10px; border: 1px solid #b9c2cc; border-radius: 4px; }
.sc-auth-pin-toggle { margin-top: 18px; }
.sc-auth-status { min-height: 20px; margin: 14px 0 0; color: var(--sc-muted); }
.sc-auth-status.error { color: var(--sc-danger); }
@media (max-width: 850px) { .sc-response-route-meta { grid-template-columns: 1fr; gap: 3px; } }

/* Internal virtual catalog. */
.sc-virtual-catalog { display:grid; gap:16px; }
.sc-virtual-heading { padding:0; border:0; }
.sc-virtual-heading small { color:var(--sc-muted); }
.sc-virtual-workgrid { grid-template-columns:minmax(270px,.55fr) minmax(640px,1.45fr); }
.sc-virtual-groups-panel { min-width:0; }
.sc-virtual-group-list { display:grid; gap:6px; margin:0; padding:0 10px 10px; list-style:none; }
.sc-virtual-group { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px; align-items:center; margin-left:calc(var(--sc-tree-depth, 0) * 18px); border:1px solid transparent; border-radius:6px; }
.sc-virtual-group:hover { border-color:#e0c1d1; background:#fcf7fa; }
.sc-virtual-group.selected { border-color:var(--sc-brand); background:var(--sc-soft); }
.sc-virtual-group-select { display:grid; grid-template-columns:16px minmax(0,1fr); gap:6px; min-width:0; padding:10px; border:0; border-radius:5px; background:transparent; color:var(--sc-text); cursor:pointer; text-align:left; }
.sc-virtual-group-tree-marker { color:var(--sc-brand); font-weight:700; line-height:1.25; text-align:center; }
.sc-virtual-group-copy { display:grid; gap:2px; min-width:0; }
.sc-virtual-group-title { overflow:hidden; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.sc-virtual-group-select small { color:var(--sc-muted); }
.sc-virtual-sort-actions { display:flex; align-items:center; padding-right:4px; }
.sc-virtual-sort-actions .sc-icon-button { width:28px; height:30px; font-size:19px; }
.sc-virtual-sort-actions .sc-icon-button:disabled { cursor:default; opacity:.35; }
.sc-virtual-help { margin:0; padding:0 16px 14px; font-size:12px; }
.sc-virtual-editor { min-width:0; }
.sc-virtual-attributes .sc-list-head { padding:0 0 10px; }
.sc-virtual-attributes .sc-table-wrap { border:1px solid var(--sc-border); border-radius:5px; }
.sc-virtual-attributes-table { min-width:760px; }
.sc-virtual-attributes-table th:first-child { width:78px; }
.sc-virtual-attributes-table th:nth-child(2) { width:30%; }
.sc-virtual-attributes-table th:nth-child(3) { width:16%; }
.sc-virtual-attributes-table th:nth-child(4) { width:10%; }
.sc-virtual-attributes-table th:nth-child(5) { width:8%; }
.sc-virtual-attributes-table th:nth-child(6) { width:158px; }
.sc-virtual-attributes-table td { vertical-align:middle; }
.sc-sort-cell { white-space:nowrap; }
.sc-sort-cell .sc-icon-button { width:28px; height:28px; font-size:18px; }
.sc-sort-cell .sc-icon-button:disabled { cursor:default; opacity:.35; }
.sc-virtual-actions { white-space:nowrap; }
.sc-virtual-actions .sc-button { min-height:30px; margin-right:6px; padding:5px 8px; }
.sc-virtual-actions .sc-button:last-child { margin-right:0; }
.sc-virtual-attribute-form { margin-top:14px; border-top:1px solid #e5e9ed; }
.sc-virtual-attribute-form h4 { margin:0; font-size:15px; }
.sc-virtual-group-tools { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.sc-virtual-move-panel { display:grid; gap:10px; margin-top:14px; padding:14px; border:1px solid #e4cad7; border-radius:6px; background:#fcf7fa; }
.sc-virtual-move-panel h3 { margin:0; font-size:16px; }
.sc-virtual-move-panel p { margin:0; color:var(--sc-muted); font-size:13px; }
.sc-vc-attribute-options.is-hidden { display:none; }
.sc-virtual-group-danger { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid #e5e9ed; }
.sc-vc-import { display:grid; gap:10px; margin-top:18px; padding-top:16px; border-top:1px solid #e5e9ed; }
.sc-vc-import .sc-list-head { padding:0; }
.sc-vc-import .sc-list-head .sc-button { flex:0 0 auto; }
.sc-vc-import > .sc-muted { margin:0; max-width:860px; font-size:13px; }
.sc-vc-import-controls { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.sc-file-picker { position:relative; display:inline-flex; align-items:center; min-height:34px; padding:7px 11px; border:1px solid var(--sc-brand); border-radius:4px; background:#fff; color:var(--sc-brand); cursor:pointer; font-weight:700; }
.sc-file-picker input { position:absolute; inset:0; width:100%; cursor:pointer; opacity:0; }
.sc-vc-import-file { min-width:180px; max-width:360px; overflow:hidden; color:var(--sc-muted); text-overflow:ellipsis; white-space:nowrap; }
.sc-vc-import-file strong { color:var(--sc-text); }
.sc-vc-import-summary,.sc-vc-import-result { margin:0; padding:9px 10px; border-radius:5px; background:#f4f7fa; color:var(--sc-text); font-size:13px; }
.sc-vc-import-result { background:#eaf7ee; color:#17663b; }
.sc-vc-import-errors { display:grid; gap:5px; margin:0; padding:10px 14px 10px 30px; border:1px solid #efc2c2; border-radius:5px; background:#fff4f4; color:#a32222; }
.sc-vc-import-errors li { padding-left:2px; }
.sc-vc-import-table { min-width:680px; }
.sc-vc-import-table th:first-child { width:72px; }
.sc-vc-import-table tr.sc-vc-import-skip { color:var(--sc-muted); }
.sc-vc-import-table tr.sc-vc-import-error { color:#a32222; }
.sc-vc-ready-items { display:grid; gap:10px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid #e5e9ed; }
.sc-vc-ready-items .sc-list-head { padding:0; }
.sc-vc-ready-search { display:grid; gap:5px; max-width:480px; color:var(--sc-muted); font-size:13px; }
.sc-vc-ready-search input { min-height:38px; padding:8px 10px; border:1px solid #cbd3df; border-radius:5px; background:#fff; color:var(--sc-text); }
.sc-vc-ready-items-table { min-width:640px; }
.sc-vc-ready-items-table th:first-child { width:68%; }
.sc-vc-ready-items-table th:nth-child(2) { width:32%; }
.sc-vc-ready-items-table td { vertical-align:top; }
.sc-vc-ready-items-table small { display:block; margin-top:4px; color:var(--sc-muted); font-size:12px; line-height:1.35; }
.sc-vc-item-open { max-width:100%; overflow:hidden; text-align:left; text-overflow:ellipsis; white-space:nowrap; }
.sc-vc-price-cell { min-width:190px; }
.sc-vc-price { display:block; color:var(--sc-text); font-size:15px; }
.sc-vc-price-down { color:#1f8751; font-size:18px; line-height:1; }
.sc-vc-item-card { display:grid; gap:12px; margin-top:18px; padding:16px; border:1px solid #dfbfd0; border-radius:7px; background:#fff; }
.sc-vc-item-card-head { padding:0; }
.sc-vc-item-card-head h3 { margin:0; font-size:18px; }
.sc-vc-item-card-head span { color:var(--sc-muted); font-size:13px; }
.sc-vc-offers-table { min-width:0; }
.sc-vc-offers-table th:nth-child(1) { width:33%; }
.sc-vc-offers-table th:nth-child(2) { width:15%; }
.sc-vc-offers-table th:nth-child(3) { width:22%; }
.sc-vc-offers-table th:nth-child(4) { width:30%; }
.sc-vc-offers-table td { vertical-align:top; }
.sc-vc-offers-table small { display:block; margin-top:3px; color:var(--sc-muted); font-size:12px; line-height:1.35; }
.sc-vc-empty-row { color:var(--sc-muted); text-align:center; }
.sc-vc-offer-muted { color:var(--sc-muted); }
.sc-vc-offer-search { display:grid; gap:10px; padding-top:12px; border-top:1px solid #e5e9ed; }
.sc-vc-offer-search-form { display:flex; flex-wrap:wrap; gap:8px; align-items:end; }
.sc-vc-offer-search-form label { display:grid; flex:1 1 280px; gap:5px; color:var(--sc-muted); font-size:13px; }
.sc-vc-offer-search-form input { min-height:38px; padding:8px 10px; border:1px solid #cbd3df; border-radius:5px; background:#fff; color:var(--sc-text); }
.sc-vc-offer-results { display:grid; gap:6px; max-height:260px; overflow:auto; }
.sc-vc-offer-result { display:grid; gap:3px; width:100%; padding:9px 10px; border:1px solid #d7dee8; border-radius:5px; background:#f8fafc; color:var(--sc-text); cursor:pointer; text-align:left; }
.sc-vc-offer-result:hover { border-color:var(--sc-brand); background:#fcf7fa; }
.sc-vc-offer-result span { color:var(--sc-muted); font-size:12px; }
.sc-vc-offer-confirmation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid #e4cad7; border-radius:6px; background:#fcf7fa; }
.sc-vc-offer-confirmation p,.sc-vc-offer-confirmation .sc-form-actions { grid-column:1 / -1; margin:0; }
.sc-vc-offer-confirmation label { display:grid; gap:5px; font-size:13px; }
.sc-vc-offer-confirmation input { min-height:38px; padding:8px 10px; border:1px solid #cbd3df; border-radius:5px; background:#fff; color:var(--sc-text); }
.sc-vc-reconciliation { display:grid; gap:8px; padding-top:12px; border-top:1px solid #e5e9ed; }
.sc-vc-reconciliation p { margin:0; color:var(--sc-muted); font-size:13px; line-height:1.4; }
.sc-vc-reconciliation-list { display:grid; gap:5px; margin:0; padding-left:20px; }
.sc-vc-reconciliation-list small { display:block; margin-top:2px; color:var(--sc-muted); font-size:12px; }
@media (max-width:1100px) {
  .sc-virtual-workgrid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .sc-virtual-attributes-table th:nth-child(2), .sc-virtual-attributes-table td:nth-child(2) { display:table-cell; }
  .sc-vc-import .sc-list-head { align-items:flex-start; }
  .sc-vc-import-file { flex-basis:100%; max-width:none; }
  .sc-virtual-group { margin-left:calc(var(--sc-tree-depth, 0) * 10px); }
  .sc-vc-offer-confirmation { grid-template-columns:1fr; }
}

/* Материалы СЦ: отдельный экран одной внутренней базы, без дублирования карточек. */
.sc-materials-catalog { display:grid; gap:16px; }
.sc-materials-heading { padding:0; border:0; }
.sc-materials-heading small { display:block; margin-top:5px; color:var(--sc-muted); }
.sc-materials-workgrid { display:grid; grid-template-columns:minmax(500px,.65fr) minmax(580px,1.35fr); gap:16px; align-items:start; }
.sc-materials-list-panel,.sc-materials-detail { min-width:0; }
.sc-materials-table { width:100%; min-width:0; }
.sc-materials-table th:nth-child(1) { width:40%; }
.sc-materials-table th:nth-child(2) { width:13%; }
.sc-materials-table th:nth-child(3) { width:14%; }
.sc-materials-table th:nth-child(4) { width:17%; }
.sc-materials-table th:nth-child(5) { width:16%; }
.sc-materials-table th,
.sc-materials-table td { padding-right:5px; padding-left:5px; }
.sc-materials-table th:nth-child(3),
.sc-materials-table th:nth-child(4) { white-space:nowrap; font-size:11px; }
.sc-materials-table .sc-material-unit-column,
.sc-materials-table .sc-material-offers-count-column { white-space:nowrap; }
.sc-materials-table .sc-material-unit-price-column { white-space:normal; }
.sc-materials-table td { vertical-align:top; }
.sc-materials-table tbody tr { cursor:pointer; }
.sc-materials-table tbody tr:hover { background:#fcf7fa; }
.sc-materials-table small,.sc-material-offers-table small { display:block; margin-top:3px; color:var(--sc-muted); font-size:12px; line-height:1.35; }
.sc-material-form { display:grid; gap:12px; padding:16px; border-bottom:1px solid var(--sc-border); }
.sc-material-form h3 { margin:0; font-size:15px; }
.sc-material-overview { border-bottom:1px solid var(--sc-border); }
.sc-material-inline-form { gap:6px; padding:10px 16px; border-bottom:0; }
.sc-material-editor-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sc-material-editor-caption,.sc-material-editor-unit { color:var(--sc-muted); white-space:nowrap; }
.sc-material-editor-caption { font-weight:700; }
.sc-material-inline-form .sc-material-editor-field { display:flex; flex:0 1 auto; align-items:center; gap:6px; min-width:0; white-space:nowrap; }
.sc-material-inline-form .sc-material-editor-field > span { flex:0 0 auto; }
.sc-material-inline-form .sc-material-editor-mark { flex:1 1 160px; }
.sc-material-inline-form .sc-material-editor-type { flex:0 1 145px; }
.sc-material-inline-form .sc-material-editor-mark input,.sc-material-inline-form .sc-material-editor-type select { min-width:0; }
.sc-material-inline-form .sc-button { flex:0 0 auto; }
.sc-material-type-lock-note { color:var(--sc-muted); font-size:12px; }
.sc-material-compatibility { display:grid; gap:10px; margin:0 16px; padding:14px 0; border-bottom:1px solid #e5e9ed; }
.sc-material-compatibility h3 { margin:0; font-size:15px; }
.sc-material-compatibility > .sc-muted { margin:0; }
.sc-material-compatibility-table { width:100%; min-width:0; }
.sc-material-compatibility-table th:first-child { width:28%; }
.sc-material-compatibility-table td { vertical-align:top; line-height:1.4; }
.sc-material-unit { margin:0; color:var(--sc-muted); }
.sc-material-offers,.sc-material-offer-search { display:grid; gap:10px; margin:16px; }
.sc-material-offers { padding-bottom:16px; border-bottom:1px solid var(--sc-border); }
.sc-material-offers .sc-list-head { padding:0; }
.sc-material-offers-table { min-width:850px; }
.sc-material-offers-table th:nth-child(1) { width:32%; }
.sc-material-offers-table th:nth-child(2) { width:17%; }
.sc-material-offers-table th:nth-child(3) { width:21%; }
.sc-material-offers-table th:nth-child(4) { width:15%; }
.sc-material-offers-table th:nth-child(5) { width:15%; }
.sc-material-offers-table td { vertical-align:top; }
.sc-material-divisor { display:flex; gap:6px; align-items:center; }
.sc-material-divisor input { width:104px; min-height:32px; padding:5px 7px; border:1px solid #cbd3df; border-radius:5px; background:#fff; color:var(--sc-text); }
.sc-material-divisor .sc-button { min-height:32px; padding:5px 8px; }
.sc-material-offer-search { padding-top:0; }
.sc-material-offer-results { display:grid; gap:6px; max-height:260px; overflow:auto; }
.sc-material-offer-result { display:grid; gap:3px; width:100%; padding:9px 10px; border:1px solid #d7dee8; border-radius:5px; background:#f8fafc; color:var(--sc-text); cursor:pointer; text-align:left; }
.sc-material-offer-result:hover { border-color:var(--sc-brand); background:#fcf7fa; }
.sc-material-offer-result span { color:var(--sc-muted); font-size:12px; }
.sc-material-offer-confirmation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid #e4cad7; border-radius:6px; background:#fcf7fa; }
.sc-material-offer-confirmation p,.sc-material-offer-confirmation .sc-form-actions { grid-column:1 / -1; margin:0; }
.sc-material-offer-confirmation p small { display:block; margin-top:3px; color:var(--sc-muted); }
.sc-material-offer-confirmation label { display:grid; gap:5px; font-size:13px; }
.sc-material-offer-confirmation input { min-height:38px; padding:8px 10px; border:1px solid #cbd3df; border-radius:5px; background:#fff; color:var(--sc-text); }
@media (max-width:1100px) {
  .sc-materials-workgrid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .sc-materials-heading { display:block; }
  .sc-material-inline-form .sc-material-editor-mark { flex-basis:100%; }
  .sc-material-type-lock-note { line-height:1.35; }
  .sc-materials-table { width:100%; }
  .sc-materials-table th:nth-child(2), .sc-materials-table td:nth-child(2) { display:none; }
  .sc-materials-table th:nth-child(1) { width:48%; }
  .sc-materials-table th:nth-child(3) { width:15%; }
  .sc-materials-table th:nth-child(4) { width:15%; }
  .sc-materials-table th:nth-child(5) { width:22%; }
  .sc-material-offer-confirmation { grid-template-columns:1fr; }
  .sc-material-divisor { flex-wrap:wrap; }
}

/* Service-centre price list: full access to live material calculation links. */
.sc-service-price-list { display:grid; gap:16px; }
.sc-price-list-panel { overflow:hidden; }
.sc-price-list-head { align-items:flex-start; }
.sc-price-list-head > div { display:grid; gap:3px; }
.sc-price-list-head p { margin:0; color:var(--sc-muted); }
.sc-price-list-head span { max-width:760px; font-size:13px; line-height:1.35; }
.sc-price-list-table-wrap { max-height:680px; border-top:1px solid var(--sc-border); }
.sc-price-list-table { width:max-content; min-width:100%; table-layout:auto; }
.sc-price-list-table th,.sc-price-list-table td { min-width:0; vertical-align:middle; }
.sc-price-list-table th:nth-child(1),.sc-price-list-table th:nth-child(2),
.sc-price-list-table th:nth-child(3),.sc-price-list-table th:nth-child(4) { width:auto; }
.sc-price-list-table th { padding:3px 5px; font-size:11px; line-height:1.1; white-space:normal; overflow-wrap:anywhere; }
.sc-price-list-table tbody td { padding:3px 5px; color:var(--sc-text); font-size:12px; line-height:1.15; white-space:nowrap; overflow-wrap:normal; }
.sc-price-list-table .number { white-space:nowrap; }
.sc-price-list-editor { overflow:visible; }
.sc-price-list-components { display:grid; grid-template-columns:repeat(4,minmax(180px,1fr)); gap:12px; }
.sc-price-list-components label,.sc-price-list-restoration,.sc-price-list-consumable > label { display:grid; gap:5px; font-weight:700; }
.sc-price-list-components label > span,.sc-price-list-restoration > span,.sc-price-list-consumable span { color:var(--sc-text); }
.sc-price-list-picked { display:flex; align-items:center; gap:10px; min-height:38px; padding:7px 10px; border:1px solid #b9c2cc; border-radius:4px; background:#f8fafc; }
.sc-price-list-picked strong { flex:0 0 auto; }
.sc-price-list-picked small { flex:1 1 auto; min-width:0; overflow:hidden; color:var(--sc-muted); text-overflow:ellipsis; white-space:nowrap; }
.sc-price-list-picked .sc-button { min-height:30px; padding:5px 8px; }
.sc-price-list-consumable .sc-request-search { position:relative; }
.sc-price-list-consumable .sc-request-search input { width:100%; min-height:38px; padding:8px 10px; border:1px solid #b9c2cc; border-radius:4px; background:#fff; color:var(--sc-text); }
.sc-price-list-restoration { grid-column:1 / -1; }
.sc-price-list-edit-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.sc-price-list-view-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.sc-price-list-edit-status { color:var(--sc-muted); font-size:13px; }
.sc-price-list-edit-hint { padding:8px 14px; border-top:1px solid var(--sc-border); color:var(--sc-muted); font-size:12px; background:#fcf7fa; }
.sc-price-list-editable-cell { background:#fffafc; }
.sc-price-list-row-selected > td { background:#fcf0f6; }
.sc-price-list-absent { color:var(--sc-muted) !important; text-align:center; }
.sc-price-list-none-action { padding:0; border:0; background:transparent; color:var(--sc-brand); font:inherit; cursor:pointer; }
.sc-price-list-none-action:hover { text-decoration:underline; }
.sc-price-list-draft-dot { margin-left:4px; color:var(--sc-brand); font-size:9px; vertical-align:middle; }
.sc-price-list-dialog-backdrop { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:24px; background:rgba(20,29,40,.48); }
.sc-price-list-dialog { width:min(720px,100%); max-height:calc(100vh - 48px); overflow:auto; border:1px solid var(--sc-border); border-radius:8px; background:#fff; box-shadow:0 18px 55px rgba(20,29,40,.30); }
.sc-price-list-dialog header { display:flex; justify-content:space-between; gap:16px; padding:16px 18px; border-bottom:1px solid var(--sc-border); }
.sc-price-list-dialog header p { margin:0 0 2px; color:var(--sc-muted); font-size:12px; }
.sc-price-list-dialog h3 { margin:0; font-size:18px; }
.sc-price-list-dialog-close { width:32px; height:32px; border:0; background:transparent; color:var(--sc-muted); font-size:26px; line-height:1; cursor:pointer; }
.sc-price-list-dialog-body { display:grid; gap:12px; padding:16px 18px; }
.sc-price-list-dialog-body label { display:grid; gap:5px; font-weight:700; }
.sc-price-list-dialog-body input { min-height:38px; padding:8px 10px; border:1px solid #cbd3df; border-radius:5px; background:#fff; font:inherit; }
.sc-price-list-dialog-modes,.sc-price-list-dialog-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.sc-price-list-dialog-modes .active { border-color:var(--sc-brand); background:#fcf0f6; color:var(--sc-brand-dark); }
.sc-price-list-dialog-results { display:grid; gap:6px; max-height:250px; overflow:auto; }
.sc-price-list-dialog-result { display:grid; gap:2px; width:100%; padding:8px 10px; border:1px solid #d7dee8; border-radius:5px; background:#f8fafc; color:var(--sc-text); text-align:left; cursor:pointer; }
.sc-price-list-dialog-result:hover { border-color:var(--sc-brand); background:#fcf7fa; }
.sc-price-list-dialog-result small,.sc-price-list-selected-offer small { color:var(--sc-muted); font-size:12px; }
.sc-price-list-dialog-empty { padding:10px; border:1px dashed #cbd3df; border-radius:5px; color:var(--sc-muted); font-size:13px; }
.sc-price-list-dialog-intro,.sc-price-list-dialog-selection { margin:0; color:var(--sc-muted); font-size:13px; line-height:1.4; }
.sc-price-list-selected-offer { display:grid; grid-template-columns:1fr auto; gap:4px 10px; align-items:center; padding:10px; border:1px solid #e4cad7; border-radius:6px; background:#fcf7fa; }
.sc-price-list-selected-offer small { grid-column:1; }
.sc-price-list-selected-offer .sc-button { grid-column:2; grid-row:1 / span 2; min-height:30px; padding:5px 8px; }
.sc-price-list-batch-backdrop { z-index:90; }
.sc-price-list-batch-dialog { width:min(860px,100%); }
.sc-material-bulk-dialog { max-height:calc(100vh - 24px); }
.sc-material-bulk-dialog header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
.sc-material-bulk-meta { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 14px; min-width:0; color:var(--sc-muted); font-size:12px; }
.sc-material-bulk-meta > span { display:inline-flex; align-items:baseline; gap:4px; min-width:0; }
.sc-material-bulk-meta strong { color:var(--sc-text); font-size:13px; }
.sc-material-bulk-meta-mark { flex:0 1 300px; }
.sc-material-bulk-meta-mark strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sc-material-bulk-dialog .sc-request-search-results { position:static; margin-top:3px; max-height:min(300px,42vh); overflow-y:auto; }
.sc-price-list-batch-questions { display:grid; gap:8px; }
.sc-price-list-batch-question { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; padding:10px; border:1px solid #d7dee8; border-radius:6px; background:#f8fafc; }
.sc-price-list-batch-question > div { display:grid; gap:2px; min-width:0; }
.sc-price-list-batch-question small { color:var(--sc-muted); font-size:12px; }
.sc-price-list-dialog-state-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-top:4px; }
.sc-price-list-dialog-state-actions > span { flex:1 1 220px; color:var(--sc-muted); font-size:13px; }
@media (max-width:1100px) {
  .sc-price-list-components { grid-template-columns:repeat(3,minmax(180px,1fr)); }
}
@media (max-width:700px) {
  .sc-price-list-head { align-items:stretch; flex-direction:column; }
  .sc-price-list-head .sc-button { width:100%; }
  .sc-price-list-view-actions { justify-content:stretch; }
  .sc-price-list-view-actions .sc-button { flex:1; }
  .sc-price-list-components { grid-template-columns:1fr; }
  .sc-price-list-table th,.sc-price-list-table td { display:table-cell !important; }
  .sc-price-list-picked { align-items:flex-start; flex-wrap:wrap; }
  .sc-price-list-picked small { flex-basis:100%; white-space:normal; }
  .sc-price-list-dialog-backdrop { padding:12px; }
  .sc-price-list-edit-actions { justify-content:stretch; }
  .sc-price-list-edit-actions .sc-button { flex:1; }
  .sc-price-list-batch-question { grid-template-columns:1fr; }
  .sc-price-list-batch-question .sc-button { width:100%; }
  .sc-material-bulk-dialog header { grid-template-columns:minmax(0,1fr) auto; }
  .sc-material-bulk-meta { grid-column:1 / -1; grid-row:2; justify-content:flex-start; }
}

.quote-workflow-count { display:inline-block; margin-left:5px; padding:1px 6px; border-radius:10px; font-size:12px; line-height:18px; font-weight:700; vertical-align:middle; }
.quote-workflow-count-new { background:#be1836; color:#fff; }
.quote-workflow-count-in_progress { background:#ffcf40; color:#29210a; }

.sc-equipment-controls { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; text-align:left; color:#111; font-weight:400; }
.sc-service-selection-dialog { box-sizing:border-box; width:min(960px, calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto; padding:24px; border:1px solid #cbd3df; background:#fff; }
.sc-service-selection-dialog h3 { margin:0 0 18px; }
.sc-service-selection-dialog > label { display:flex; align-items:baseline; gap:12px; padding:12px 14px; margin:0; border:1px solid #e0e5ec; border-bottom:0; font-weight:400; line-height:1.5; }
.sc-service-selection-dialog > label:last-of-type { border-bottom:1px solid #e0e5ec; }
.sc-service-selection-dialog > label:hover { background:#f7f9fb; }
.sc-service-selection-dialog > label input[type="checkbox"] { flex:0 0 auto; width:16px; height:16px; margin:0; accent-color:var(--sc-brand-dark); }
.sc-service-selection-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:20px; }
.sc-service-selection-actions .sc-button-secondary:hover { color:#fff; }
.sc-equipment-confirmed { padding:0 0 0 16px; }
.sc-equipment-identity { display:flex; align-items:center; gap:4px; min-width:0; max-width:100%; }
.sc-equipment-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sc-equipment-service-count { flex-shrink:0; white-space:nowrap; font-weight:400; }
.sc-equipment-edit { flex-shrink:0; border:0; border-radius:4px; padding:2px 5px; background:transparent; color:#596471; font:inherit; font-size:19px; line-height:24px; cursor:pointer; }
.sc-equipment-edit:hover,.sc-equipment-edit:focus-visible { background:#e3e8ee; color:#111; }
.sc-equipment-edit:disabled { opacity:.45; cursor:default; }
.sc-equipment-actions { display:flex; flex-wrap:wrap; gap:6px; }
.sc-equipment-actions .sc-button { padding:5px 7px; font-size:12px; font-weight:400; }
.sc-parts-search { position:sticky; top:0; z-index:40; background:#fff; border:1px solid #ccd5df; padding:10px 14px; box-shadow:0 3px 10px #0001; margin-bottom:12px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sc-parts-search > .sc-request-search { flex:1 1 100%; }
.sc-parts-search > select { min-width:0; max-width:100%; flex:1 1 240px; padding:6px; }
.sc-parts-selected { flex-basis:100%; font-size:13px; }
.sc-parts-selected:empty { display:none; }
.sc-parts-search .sc-request-search-results { max-height:250px; overflow:auto; }

/* Compact selection in the working quote only; customer output is unchanged. */
.sc-request-table-work > thead > tr > th,
.sc-request-table-work > tbody > tr > td { border-color: #9aa5b2; }
.sc-request-table-work td.sc-request-compact-cell { padding: 3px 6px; text-align: left; vertical-align: top; }
.sc-request-compact-cell.is-ready, .sc-requirement-choice.is-ready { background: #e8f6ed; }
.sc-request-compact-cell.needs-fill, .sc-requirement-choice.needs-fill { background: #fff9ec; }
.sc-request-compact-head { display: flex; gap: 6px; align-items: center; min-height: 28px; }
.sc-request-compact-service { min-width: 0; flex: 0 0 auto; max-width: calc(100% - 330px); }
.sc-request-compact-head .sc-request-service-article { field-sizing: content; flex: 0 1 auto; width: auto; min-width: 165px; }
.sc-request-compact-head input { width: 100%; min-width: 0; height: 28px; min-height: 28px; padding: 3px 6px; border: 1px solid #b9c2cc; border-radius: 3px; font-size: 12px; }
.sc-request-compact-price { flex: 0 0 94px; text-align: right; font-weight: 700; white-space: nowrap; }
.sc-request-compact-quantity { margin-left: auto; flex: 0 0 32px; text-align: center; }
.sc-request-compact-unit { flex: 0 0 28px; text-align: center; }
.sc-request-compact-products .sc-request-product-line { display: grid; grid-template-columns: 60px minmax(0,1fr) 52px; gap: 6px; margin: 0; align-items: center; border-top: 1px solid var(--sc-border); min-height: 29px; }
.sc-request-product-controls { display: flex; gap: 3px; align-items: center; justify-content: center; border-right: 1px solid var(--sc-border); align-self: stretch; }
.sc-request-product-controls button { min-width: 16px; min-height: 24px; padding: 0; }
.sc-request-product-content { display: flex; gap: 8px; min-width: 0; align-items: center; font-size: 12px; }
.sc-request-selected-product { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-request-product-provider { flex: 0 0 auto; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--sc-muted); }
.sc-request-compact-products .sc-request-product-quantity-wrap { width: 52px; min-width: 0; resize: none; }
.sc-request-compact-products input { min-height: 26px; height: 26px; font-size: 12px; }
.sc-request-compact-products .sc-request-product-add { width: 16px; min-width: 16px; min-height: 22px; padding: 0; }

.sc-request-table-work .sc-request-service-row > td:nth-child(2) { text-align: left; }
.sc-request-compact-service { display: flex; align-items: center; gap: 4px; }
.sc-request-selected-service { flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.sc-request-compact-service > button { padding: 0 3px; flex-shrink: 0; }
.sc-request-compact-service:has(> .sc-request-search) { width: 200px; }
.sc-request-compact-service:not(:has(> .sc-request-search)) { width: auto !important; }
.sc-request-compact-service .sc-request-search-result strong { overflow-wrap: anywhere; }
.sc-request-compact-products .sc-request-product-quantity-wrap { border-left: 1px solid var(--sc-border); padding-left: 4px; }

/* SC request header: source, customer and reply address remain separate rows. */
.sc-request-meta-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; padding-bottom:6px; border-bottom:1px solid #e2e7ed; }
.sc-request-meta-row .sc-request-lifecycle-actions { margin-left:auto; }
.sc-request-source { display:flex; align-items:center; gap:8px; }
.sc-request-customer-card .sc-request-customer-form { display:block; }
.sc-request-customer-card .sc-request-customer-field { display:flex; align-items:baseline; gap:8px; margin:12px 0; }
.sc-request-customer-field output { min-width:0; overflow-wrap:anywhere; }
.sc-request-customer-card .sc-create-request { margin:0; padding:0; border:0; max-width:none; background:transparent; }
.sc-request-customer-card .sc-create-request form { display:grid; gap:10px; }
.sc-disclosure,.sc-response-address summary { cursor:pointer; padding:7px 0; color:var(--sc-text); font:inherit; font-weight:600; background:none; border:0; text-align:left; }
.sc-disclosure::before { content:'▸'; margin-right:8px; }
.sc-disclosure[aria-expanded="true"]::before { content:'▾'; }
.sc-client-resolution-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; padding:8px 12px; border-left:2px solid #d8dee8; }
.sc-client-resolution-fields p { margin:4px 0; }
.sc-client-resolution-fields > button { justify-self:start; }
.sc-request-customer-card .sc-email-choice { display:flex; align-items:center; gap:10px; width:100%; min-width:0; margin:6px 0; font-weight:400; }
.sc-email-choice > span:first-child { min-width:0; overflow-wrap:anywhere; }
.sc-email-dots { flex:1 0 24px; border-bottom:1px dotted #a1aab7; }
.sc-request-customer-card .sc-create-request input[type="checkbox"],.sc-request-customer-card .sc-create-request input[type="radio"] { flex:none; width:16px; height:16px; min-height:0; margin:0; padding:0; }
.sc-request-customer-card .sc-inline-check { display:flex; align-items:center; gap:8px; }
.sc-response-address { border-top:1px solid #e2e7ed; padding-top:3px; }
.sc-response-address > label,.sc-response-address > button { margin-top:10px; }
.sc-response-address summary span { font-weight:400; overflow-wrap:anywhere; }
.sc-source-mapping { padding:16px; min-width:0; }
.sc-source-mapping h2 { margin:0 0 10px; }
.sc-source-columns { align-items:stretch; }
.sc-source-columns label { min-width:0; overflow-wrap:anywhere; grid-template-rows:1fr auto; }
.sc-source-columns select { width:100%; height:38px; }
.sc-source-preview .sc-source-table { width:100%; table-layout:auto; }
.sc-source-table td { min-width:120px; max-width:650px; overflow-wrap:anywhere; vertical-align:top; }
.sc-source-table td:first-child { min-width:30px; width:40px; }
.sc-request-workspace { overflow:visible; }
@media(max-width:800px) { .sc-request-meta-row { align-items:flex-start; } .sc-request-meta-row .sc-request-lifecycle-actions { margin-left:0; } }

.sc-request-customer-card form:not(:has([data-sc-client-fields]:not([hidden]))):not(:has(details[open])) .sc-form-actions:has([data-sc-create-status]:empty) { display:none; }

.sc-client-lookup-actions { display:flex; align-items:center; gap:10px; min-width:0; }
.sc-client-lookup-actions > button { flex:none; white-space:nowrap; }
.sc-client-lookup-actions > span { flex:1; min-width:0; }

.sc-email-list { margin:6px 0 10px; }
.sc-email-list-heading,.sc-email-list-row { display:grid; grid-template-columns:minmax(0,1fr) 110px 140px; align-items:center; gap:10px; }
.sc-email-list-heading { padding:4px 0 6px; font-size:12px; color:var(--sc-muted); }
.sc-email-list-heading > span:not(:first-child) { text-align:center; }
.sc-email-list-row { padding:3px 0; }
.sc-email-description { display:flex; align-items:baseline; gap:8px; min-width:0; }
.sc-email-description > span:first-child { min-width:0; overflow-wrap:anywhere; }
.sc-request-customer-card .sc-email-mark { display:flex; justify-content:center; align-items:center; margin:0; }
.sc-response-address > [data-sc-document-contacts] { margin:8px 0; font-size:12px; color:var(--sc-muted); }
.sc-client-create-panel > .sc-form-actions { margin-top:10px; }
.sc-confirmed-response-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:10px; }
.sc-confirmed-response-row[hidden] { display:none; }
.sc-request-customer-field > [data-sc-create-toggle] { flex:none; margin-left:10px; }
.sc-request-customer-card .sc-form-actions[hidden] { display:none; }
.sc-request-attachments { padding:16px; margin-bottom:16px; }
.sc-request-attachments h2 { margin:0 0 10px; }
.sc-request-attachments table { width:100%; table-layout:fixed; }
.sc-request-attachments th:first-child { width:75px; white-space:nowrap; }
.sc-request-attachments th:nth-child(2) { width:130px; white-space:nowrap; }
.sc-request-attachments td:nth-child(2) { text-align:center; }
.sc-request-attachments td:last-child { overflow-wrap:anywhere; }
.sc-request-attachments input[type="radio"] { width:auto; margin:0; }
.sc-source-table-choice { display:block; margin:10px 0; }
.sc-source-table-choice[hidden] { display:none; }
.sc-source-table-choice select { display:block; width:100%; margin-top:6px; }
.sc-request-attachments .sc-form-actions { margin-top:8px; }
.sc-request-attachments .sc-form-actions:has(button[hidden]):has(span:empty) { display:none; }

.sc-request-table .sc-col-source-article { width: 125px; }
.sc-source-article-cell { overflow-wrap: anywhere; text-align: left; }
.sc-source-article-cell button { margin-left: 5px; padding: 2px 5px; }
.sc-equipment-candidates .sc-request-search-results {
  position: static;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-height: none;
  width: auto;
  margin-top: 6px;
  padding: 0;
  border: 0;
  box-shadow: none;
}
.sc-equipment-candidates .sc-request-search-heading { display: none; }
.sc-equipment-candidates .sc-request-search-result {
  width: auto;
  border: 1px solid #8c1b61;
  border-radius: 4px;
  padding: 6px 10px;
}

/* Requirement matching uses the existing workspace palette, with its own scroll area. */
.sc-requirement-dialog {
  box-sizing: border-box; width: min(1080px, calc(100vw - 40px)); max-width: none;
  max-height: calc(100dvh - 48px); padding: 0; border: 1px solid #d7c6d0;
  border-radius: 8px; color: #253445; background: #fff;
  box-shadow: 0 24px 80px #24324738; font: inherit;
}
.sc-requirement-dialog[open] { display: flex; flex-direction: column; }
.sc-requirement-dialog::backdrop { background: #18243380; }
.sc-requirement-dialog-header { padding: 12px 14px; border-bottom: 1px solid #eee5eb; }
.sc-requirement-dialog h2 { margin: 0; font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
.sc-requirement-summary { flex: none; margin: 0; padding: 7px 14px; background: #faf7f9; font-size: 12px; color: #5c5260; }
.sc-requirement-dialog-body { overflow: auto; min-height: 70px; overscroll-behavior: contain; }
.sc-requirement-columns, .sc-requirement-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 12px; padding: 3px 14px; }
.sc-requirement-columns { position: sticky; top: 0; z-index: 1; background: #fff; padding-top: 7px; padding-bottom: 7px; font-size: 12px; font-weight: 700; color: #687486; border-bottom: 1px solid #e4e8ed; }
.sc-requirement-row { align-items: center; border-bottom: 1px solid #edf0f3; font-size: 13px; }
.sc-requirement-row:last-child { border-bottom: 0; }
.sc-requirement-source { display: flex; align-items: baseline; gap: 4px; min-width: 0; line-height: 1.3; white-space: nowrap; }
.sc-requirement-source span { overflow: hidden; text-overflow: ellipsis; }
.sc-requirement-source small { flex: 0 0 auto; color: #748194; font-size: 12px; }
.sc-requirement-choice { min-width: 0; padding: 3px 6px; border-radius: 3px; }
.sc-requirement-choice select { box-sizing: border-box; width: 100%; min-width: 0; height: 28px; padding: 3px 24px 3px 6px; border: 1px solid #b9c2cc; border-radius: 3px; background: transparent; color: #263448; font: inherit; font-size: 12px; text-overflow: ellipsis; }
.sc-requirement-choice option, .sc-requirement-choice optgroup { background: #fff; }
.sc-requirement-choice select:focus { outline: 2px solid #a6317938; border-color: #8c1b61; outline-offset: 1px; }
.sc-requirement-retained { box-sizing: border-box; height: 28px; padding: 5px 6px; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.sc-requirement-dialog-footer { flex: none; display: flex; align-items: center; gap: 8px; padding: 8px 14px; background: #fafbfc; border-top: 1px solid #e4e8ed; }
.sc-requirement-dialog-footer span { margin-right: auto; font-size: 12px; color: #6b7684; }
.sc-requirement-dialog-footer .sc-button { min-height: 30px; padding: 5px 12px; }
.sc-requirement-error { margin: 0; padding: 8px 14px; color: #a32139; background: #fff1f3; font-size: 13px; }
@media (max-width: 640px) {
  .sc-requirement-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 24px); border-radius: 10px; }
  .sc-requirement-dialog-header { padding: 10px; }
  .sc-requirement-dialog h2 { font-size: 16px; }
  .sc-requirement-summary, .sc-requirement-error { padding: 6px 10px; }
  .sc-requirement-columns { display: none; }
  .sc-requirement-row { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 6px 10px; }
  .sc-requirement-dialog-footer { flex-wrap: wrap; padding: 8px 10px; }
  .sc-requirement-dialog-footer span { flex-basis: 100%; }
  .sc-requirement-dialog-footer .sc-button { flex: 1; }
}

/* Compact quote queue, aligned with the Traver queue. */
#sc-quote-requests .sc-card-filters{margin:12px 0 16px;padding:0;gap:8px}
#sc-quote-requests .sc-card-filter{border-radius:4px;padding:9px 12px}
#sc-quote-requests .sc-card-filter.active{background:#861e5d;color:#fff}
#sc-quote-requests .sc-queue-panel{padding:12px}
#sc-quote-requests .sc-queue-panel h2{font-size:16px;margin:0 0 8px;text-transform:uppercase}
#sc-quote-requests .sc-list-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px;min-width:760px}
#sc-quote-requests .sc-list-table th,#sc-quote-requests .sc-list-table td{border:1px solid #d5d5d5;padding:5px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
#sc-quote-requests .sc-list-table th{background:#ececef;font-size:11px;text-transform:uppercase;color:#555}
#sc-quote-requests .sc-list-table tbody tr:nth-child(even){background:#fafafa}
#sc-quote-requests .sc-list-table tbody tr:hover{background:#f5edf2}
#sc-quote-requests th:nth-child(1){width:88px}#sc-quote-requests th:nth-child(2){width:84px}#sc-quote-requests th:nth-child(4){width:244px}#sc-quote-requests th:nth-child(5){width:94px}#sc-quote-requests th:nth-child(6){width:130px}
.sc-queue-progress{height:18px;position:relative;border:1px solid #c8c8c8;border-radius:2px;background:#f2f2f2;overflow:hidden}
.sc-queue-progress span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#d86742,#e1b33b 55%,#54a66c);transition:width .2s}
.sc-queue-progress strong{position:relative;display:block;line-height:16px;text-align:center;font-size:11px;color:#333}
/* Cartridge configuration reuses the existing material/offer editor. */
.sc-source-scope-head,.sc-consumable-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
[data-sc-service-scope]{display:flex;gap:16px}
[data-sc-service-scope] label,.sc-consumable-service-choice{display:flex;align-items:center;gap:7px;margin:6px 0}
[data-sc-service-scope] input,.sc-consumable-service-choice input{width:auto}
.sc-consumable-dialog{width:min(1100px,94vw);max-height:88vh;overflow:auto;border:1px solid #ccd5df;border-radius:10px;padding:18px;color:inherit}
.sc-consumable-dialog::backdrop{background:#20344788}
.sc-consumable-dialog h2{font-size:19px;margin:0 0 10px}
.sc-consumable-dialog h3{font-size:16px;margin:12px 0}
.sc-consumable-dialog .sc-price-list-table-wrap{overflow:auto;max-height:240px}
.sc-consumable-workspace{padding:16px;margin-top:16px}
.sc-consumable-material-form{display:grid;grid-template-columns:max-content 116px minmax(0,1fr);column-gap:12px}
.sc-consumable-material-form>button{grid-column:1/-1;justify-self:start}
.sc-consumable-material-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;gap:12px;align-items:end;margin:8px 0}
.sc-consumable-material-row>label:first-child>input{width:0;min-width:100%}
.sc-consumable-dialog a+.sc-button{margin-left:12px}
@media(max-width:650px){.sc-consumable-material-form{grid-template-columns:minmax(0,1fr)}.sc-consumable-material-row{grid-template-columns:minmax(0,1fr)}}
.sc-consumable-dialog details{margin-top:16px}
.sc-consumable-dialog summary{cursor:pointer;font-weight:600;margin-bottom:12px}

.sc-consumable-ready{color:var(--sc-success);font-weight:600}
.sc-consumable-material-row label{display:grid;gap:4px}
.sc-consumable-material-row datalist{display:none}

.sc-consumable-material-row input{width:100%;min-width:0;min-height:30px;padding:5px 7px;border:1px solid var(--sc-border);border-radius:4px;font:inherit}
.sc-consumable-quantity{font-size:12px}
.sc-consumable-copy{display:flex;align-items:end;gap:8px;margin:8px 0 14px}
.sc-consumable-copy label{display:grid;gap:4px;flex:1;min-width:0}
.sc-consumable-copy input{width:100%;min-height:32px;padding:5px 7px;border:1px solid var(--sc-border);border-radius:4px;font:inherit}
.sc-consumable-copy datalist{display:none}
.sc-consumable-copy[hidden]{display:none}
.sc-consumable-quantity-value{display:flex;align-items:center;gap:4px}
.sc-consumable-quantity-value input{max-width:68px}
.sc-consumable-offer-picker{min-width:0}
.sc-consumable-linked-offer{font-size:12px;overflow-wrap:anywhere}
.sc-consumable-offer-picker>div+div:not(:empty){display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:6px}
.sc-consumable-offer-picker>div+div>small:first-child{flex-basis:100%}
.sc-consumable-offer-picker label{max-width:100px}
.sc-consumable-offer-picker .sc-request-search-results{max-height:230px;overflow:auto}
.sc-service-price-list .sc-price-list-services label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 5px 0;
  font-weight: normal;
}
.sc-service-price-list .sc-price-list-services input[type="checkbox"] {
  width: auto;
  height: 14px;
  min-height: 14px;
  min-width: 0;
  flex: 0 0 auto;
  margin: 0;
}

/* Authors are selected per generated proposal; price factors belong to slots. */
.proposal-author-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:12px 0;}
.proposal-author-selection label{display:flex;flex-direction:column;gap:5px;min-width:0;}
.proposal-author-selection strong{font-size:16px;}
.proposal-author-selection select{box-sizing:border-box;width:100%;min-width:0;padding:8px;border:1px solid #bdcddd;border-radius:4px;background:#fff;color:inherit;}
@media(max-width:540px){.proposal-author-selection{grid-template-columns:1fr;}}
.sc-document-panel > .proposal-author-selection{grid-column:1 / -1;}
