/* 快速报价 - 加宽布局与计算法则区域 */
.container.mx-auto.max-w-7xl,
.quote-shell {
  max-width: min(1800px, 98vw) !important;
  width: 100%;
}

@media (min-width: 1024px) {
  .quote-layout-grid {
    display: grid !important;
    grid-template-columns: minmax(220px, 20%) minmax(0, 80%) !important;
    gap: 1.5rem;
  }
}

.quote-main {
  min-width: 0;
}

/* 项目信息 / 基础参数 / 工种备选库 / 报价明细 — 标题区上下行距收紧 */
.quote-sidebar.space-y-4 > * + * {
  margin-top: 0.75rem !important;
}

.quote-sidebar [data-slot="card"],
.quote-main [data-slot="card"] {
  gap: 0.5rem !important;
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

.quote-sidebar [data-slot="card-header"],
.quote-main [data-slot="card-header"] {
  padding-top: 0 !important;
  padding-bottom: 0.125rem !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  gap: 0.25rem !important;
}

.quote-sidebar [data-slot="card-title"],
.quote-main [data-slot="card-title"] {
  line-height: 1.25 !important;
  margin: 0 !important;
}

.quote-sidebar [data-slot="card-description"],
.quote-main [data-slot="card-description"] {
  margin-top: 0.125rem !important;
  line-height: 1.3 !important;
}

.quote-sidebar [data-slot="card-content"],
.quote-main [data-slot="card-content"] {
  padding-top: 0 !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  padding-bottom: 0.625rem !important;
}

.quote-sidebar [data-slot="card-content"].space-y-3 > * + *,
.quote-sidebar [data-slot="card-content"].space-y-5 > * + * {
  margin-top: 0.625rem !important;
}

.quote-main [data-slot="card-content"].space-y-2 > * + * {
  margin-top: 0.375rem !important;
}

/* 表头与数据行共用列宽（备注左靠计费法则，右侧输入区更宽） */
.quote-table-row {
  display: grid !important;
  grid-template-columns: 2rem minmax(108px, 1.05fr) minmax(300px, 2.4fr) minmax(220px, 2.6fr) 8.75rem 3.75rem;
  align-items: center;
  column-gap: 0.25rem;
  width: 100%;
}

.quote-table-header .quote-col-name,
.quote-table-header .quote-col-billing,
.quote-table-header .quote-col-note,
.quote-table-header .quote-col-total {
  align-self: center;
  line-height: 1.25;
}

.quote-col-drag {
  width: 2rem;
  flex-shrink: 0;
}

.quote-col-name {
  min-width: 0;
  display: flex;
  align-items: center;
}

.quote-col-billing {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem 0.4rem;
  justify-content: flex-start;
  padding-right: 0.125rem;
}

.quote-col-note {
  min-width: 0;
  display: flex;
  align-items: center;
  padding-left: 0 !important;
  padding-right: 0.25rem;
  margin-left: -0.125rem;
  flex: 1 1 auto;
}

.quote-col-note > div,
.quote-col-note input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.quote-col-note input {
  box-sizing: border-box !important;
}

.quote-col-total {
  width: 8.75rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  flex-shrink: 0;
}

.quote-col-actions {
  width: 3.75rem;
  flex-shrink: 0;
}

/* 双联 / 三联计算：紧凑数字框（6ch） */
.quote-formula-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.125rem 0.2rem !important;
}

.quote-formula-row > span {
  padding-left: 0.1rem !important;
  padding-right: 0.1rem !important;
}

.quote-num-in {
  width: calc(6ch + 0.5rem) !important;
  min-width: calc(6ch + 0.5rem) !important;
  max-width: calc(6ch + 0.5rem) !important;
  flex-shrink: 0 !important;
  height: 1.5rem !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  font-size: 0.75rem !important;
  line-height: 1.5rem !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  text-align: right !important;
  box-sizing: border-box !important;
}

.quote-unit-sel {
  width: calc(2ch + 0.75rem) !important;
  min-width: calc(2ch + 0.75rem) !important;
  max-width: calc(2ch + 0.75rem) !important;
  flex-shrink: 0 !important;
  height: 1.5rem !important;
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
  font-size: 0.75rem !important;
  line-height: 1.5rem !important;
  text-align: center !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
}

.quote-unit-sel::-ms-expand {
  display: none !important;
}

.quote-formula-clear {
  height: 1.5rem !important;
  width: 1.5rem !important;
  min-height: 1.5rem !important;
  min-width: 1.5rem !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
  transition: opacity 0.15s ease;
}

/* 鼠标移入计费法则区域时显示清除按钮 */
.quote-col-billing:hover .quote-formula-clear,
.quote-col-billing:focus-within .quote-formula-clear {
  opacity: 1 !important;
  pointer-events: auto;
}

/* 工种备选库：紧凑六列排版 */
.job-pool-dialog {
  max-width: min(98vw, 1600px) !important;
  width: min(98vw, 1600px) !important;
}

.job-pool-scroll {
  height: min(78vh, 820px) !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* 分类区块间距 */
.job-pool-scroll > div {
  margin-bottom: 0.5rem !important;
}

.job-pool-scroll > div > div:first-child {
  margin-bottom: 0.25rem !important;
  gap: 0.375rem !important;
}

.job-pool-scroll > div > div:first-child [data-slot="badge"] {
  font-size: 0.75rem !important;
  padding: 0 0.4rem !important;
  height: 1.25rem !important;
}

.job-pool-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  column-gap: 0.125rem !important;
  row-gap: 0.2rem !important;
}

.job-pool-grid > div {
  gap: 0.3rem !important;
  padding: 0.15rem 0.15rem !important;
  min-height: 0 !important;
  border-radius: 0.25rem !important;
}

.job-pool-grid label {
  font-size: 0.875rem !important;
  line-height: 1.35 !important;
}

.job-pool-grid [data-slot="checkbox"],
.job-pool-grid button[role="checkbox"] {
  width: 1rem !important;
  height: 1rem !important;
}

@media (max-width: 1400px) {
  .job-pool-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1200px) {
  .job-pool-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .job-pool-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .job-pool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 工种备选库下方：报价预设按钮 */
.quote-preset-bar {
  padding: 0 0.25rem;
}
.quote-preset-bar button {
  font-size: 0.8125rem;
}
