#quoteandcut-job-list {
  counter-reset: quoteandcut-part-counter;
}

#quoteandcut-job-list .job-item {
  counter-increment: quoteandcut-part-counter;
}

.quoteandcut-part-badge,
.quoteandcut-workbench-part-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 58px;
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    var(--quoteandcut-accent-secondary),
    var(--quoteandcut-accent-primary)
  );
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  box-shadow: var(--quoteandcut-shadow);
}

.quoteandcut-part-badge::before,
.quoteandcut-workbench-part-badge::before {
  content: counter(quoteandcut-part-counter, decimal-leading-zero);
}

.quoteandcut-form-style-classic .job-item {
  align-items: stretch;
}

.quoteandcut-form-style-classic .dxf-preview-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.quoteandcut-form-style-studio {
  width: min(1380px, 96vw);
}
#quoteandcut-container.quoteandcut-form-style-studio {
  max-width: 90vw;
  width: 1920px;
}
.quoteandcut-form-style-studio .quoteandcut-part-file-empty {
  font-size: 15px;
}
.quoteandcut-form-style-studio .quoteandcut-part-card__actions {
  display: grid;
}

@media (max-width: 1080px) {
  .quoteandcut-form-style-studio .quoteandcut-part-card__actions {
    display: flex;
  }
}

.quoteandcut-studio-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr);
  gap: 28px;
  align-items: start;
}

.quoteandcut-studio-main {
  display: grid;
  gap: 24px;
}

.quoteandcut-form-style-studio #quoteandcut-bulk-upload-area {
  margin-bottom: 0;
  padding: 52px 34px;
  border-radius: 28px;
  background: linear-gradient(
    135deg,
    rgba(255, 118, 24, 0.1),
    rgba(45, 55, 72, 0.05)
  );
}

.quoteandcut-form-style-studio #quoteandcut-job-list {
  display: grid;
  gap: 24px;
}

.quoteandcut-form-style-studio .job-item {
  padding: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.quoteandcut-studio-part-shell {
  display: grid;
  grid-template-columns: minmax(280px, 0.76fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  background: var(--quoteandcut-card-bg);
  border-radius: inherit;
  overflow: hidden;
}

.quoteandcut-studio-preview-column {
  padding: 24px 22px;
  background: linear-gradient(
    180deg,
    rgba(45, 55, 72, 0.98),
    rgba(26, 32, 44, 1)
  );
  display: flex;
  flex-direction: column;
  align-self: stretch;
  gap: 16px;
  min-height: 100%;
}

.quoteandcut-studio-preview-column .dxf-preview-wrapper {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.06);
}

.quoteandcut-studio-preview-column .dxf-info,
.quoteandcut-studio-preview-column .dxf-info strong,
.quoteandcut-studio-preview-column .dxf-info .dxf-filename {
  color: #ffffff;
}

.quoteandcut-studio-preview-column .dxf-info .dxf-component-cost,
.quoteandcut-studio-preview-column .dxf-info .dxf-component-weight {
  color: #9ae6b4;
}

.quoteandcut-studio-preview-column .dxf-preview-canvas {
  border-color: rgba(255, 255, 255, 0.18);
}

.quoteandcut-studio-main-pane {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
}

.quoteandcut-studio-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 16px 18px;
  padding: 22px 24px 12px;
  align-content: start;
}

.quoteandcut-studio-fields .form-group {
  margin-bottom: 0;
}

.quoteandcut-studio-fields .form-group:first-child {
  grid-column: 1 / -1;
}

.quoteandcut-studio-fields .form-group:nth-child(2) {
  grid-column: 1 / 2;
}

.quoteandcut-studio-fields .form-group:nth-child(3) {
  grid-column: 2 / 3;
}

.quoteandcut-form-style-studio .quoteandcut-remove-wrapper {
  margin-top: 0;
  padding: 8px 24px 22px;
  border-top: 0;
  text-align: left;
}

.quoteandcut-form-style-studio .quoteandcut-buttons {
  margin-bottom: 0;
  padding: 24px 28px;
  background: var(--quoteandcut-card-bg);
  border: 1px solid var(--quoteandcut-border-color);
  border-radius: 24px;
  box-shadow: var(--quoteandcut-shadow);
}

.quoteandcut-studio-sidebar {
  position: sticky;
  top: 24px;
}

.quoteandcut-studio-sidebar-shell {
  min-height: 160px;
  padding: 18px;
  border-radius: 24px;
  background: var(--quoteandcut-card-bg);
  border: 1px solid var(--quoteandcut-border-color);
  box-shadow: var(--quoteandcut-shadow);
}

.quoteandcut-form-style-studio #quoteandcut-result {
  margin-top: 0;
}

.quoteandcut-form-style-studio .quoteandcut-result-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}

.quoteandcut-form-style-studio .quoteandcut-price-display {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.quoteandcut-form-style-studio #quoteandcut-add-to-cart {
  width: 100%;
  padding: 14px 20px;
  white-space: nowrap;
  line-height: 1.2;
}

@media (max-width: 1374px) and (min-width: 1241px) {
  .quoteandcut-form-style-studio
    #quoteandcut-job-list
    .job-item
    .quoteandcut-part-row {
    display: grid !important;
    grid-template-columns: minmax(160px, 1.55fr) minmax(240px, 1fr) 120px 56px !important;
    grid-template-areas:
      "file material material actions"
      "file quantity price actions";
    column-gap: 16px !important;
    row-gap: 14px !important;
    align-items: center;
  }

  .quoteandcut-form-style-studio
    #quoteandcut-job-list
    .job-item
    .quoteandcut-part-row__file {
    grid-area: file;
    min-width: 0;
  }

  .quoteandcut-form-style-studio
    #quoteandcut-job-list
    .job-item
    .quoteandcut-part-row__material {
    grid-area: material;
    min-width: 0;
  }

  .quoteandcut-form-style-studio
    #quoteandcut-job-list
    .job-item
    .quoteandcut-part-row__quantity {
    grid-area: quantity;
    min-width: 0;
  }

  .quoteandcut-form-style-studio
    #quoteandcut-job-list
    .job-item
    .quoteandcut-part-row__price {
    grid-area: price;
    min-width: 0;
  }

  .quoteandcut-form-style-studio
    #quoteandcut-job-list
    .job-item
    .quoteandcut-part-card__actions {
    grid-area: actions !important;
    width: 56px;
    min-width: 56px;
    justify-self: end !important;
    margin-left: 0 !important;
  }
}

.quoteandcut-form-style-workbench {
  width: min(1480px, 97vw);
}

.quoteandcut-form-style-workbench #quoteandcut-bulk-upload-area {
  margin-bottom: 18px;
  border-radius: 20px;
  padding: 28px 32px;
}

.quoteandcut-workbench-toolbar {
  margin-bottom: 10px;
}

.quoteandcut-form-style-workbench .quoteandcut-buttons {
  margin-bottom: 0;
}

.quoteandcut-workbench-head {
  display: grid;
  grid-template-columns: 110px 1.35fr 1.5fr 130px 1.25fr 160px;
  gap: 0;
  margin-bottom: 8px;
  padding: 0 6px;
  color: var(--quoteandcut-text-secondary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quoteandcut-form-style-workbench #quoteandcut-job-list {
  display: grid;
  gap: 14px;
}

.quoteandcut-form-style-workbench .job-item {
  padding: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.quoteandcut-form-style-workbench .job-inputs {
  display: grid;
  grid-template-columns: 110px 1.35fr 1.5fr 130px 1.25fr 160px;
  gap: 0;
  width: 100%;
}

.quoteandcut-workbench-cell {
  padding: 18px 16px;
  border-right: 1px solid var(--quoteandcut-border-color);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.quoteandcut-workbench-cell:last-child {
  border-right: 0;
}

.quoteandcut-form-style-workbench .quoteandcut-workbench-cell--part {
  align-items: flex-start;
  background: linear-gradient(
    180deg,
    rgba(255, 118, 24, 0.08),
    rgba(255, 118, 24, 0.02)
  );
}

.quoteandcut-form-style-workbench .quoteandcut-workbench-cell .form-group {
  margin-bottom: 0;
}

.quoteandcut-form-style-workbench
  .quoteandcut-workbench-cell
  .form-group
  label {
  display: none;
}

.quoteandcut-form-style-workbench
  .quoteandcut-workbench-cell--preview
  .dxf-preview-wrapper {
  width: 100%;
  padding: 12px;
  background: var(--quoteandcut-bg-color);
}

.quoteandcut-form-style-workbench .quoteandcut-workbench-cell--actions {
  align-items: stretch;
}

.quoteandcut-form-style-workbench .quoteandcut-remove-wrapper {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  text-align: left;
}

.quoteandcut-form-style-workbench .quoteandcut-remove-job,
.quoteandcut-form-style-workbench .quoteandcut-apply-material-to-all {
  width: 100%;
}

.quoteandcut-form-style-workbench .quoteandcut-material-select-wrapper {
  align-items: stretch;
  flex-direction: column;
}

.quoteandcut-form-style-workbench #quoteandcut-result {
  margin-top: 18px;
}

.quoteandcut-form-style-workbench .job-item.has-error {
  box-shadow: 0 0 0 2px var(--quoteandcut-danger-color);
}

@media (max-width: 1100px) {
  .quoteandcut-studio-layout {
    grid-template-columns: 1fr;
  }

  .quoteandcut-studio-sidebar {
    position: static;
  }

  .quoteandcut-workbench-head {
    display: none;
  }

  .quoteandcut-form-style-workbench .job-inputs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell {
    border-bottom: 1px solid var(--quoteandcut-border-color);
  }

  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell:nth-child(2n) {
    border-right: 0;
  }

  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell--preview,
  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell--actions {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .quoteandcut-studio-part-shell {
    grid-template-columns: 1fr;
  }

  .quoteandcut-studio-fields {
    grid-template-columns: 1fr;
  }

  .quoteandcut-studio-fields .form-group:first-child,
  .quoteandcut-studio-fields .form-group:nth-child(2),
  .quoteandcut-studio-fields .form-group:nth-child(3) {
    grid-column: span 1;
  }

  .quoteandcut-form-style-workbench .job-inputs {
    grid-template-columns: 1fr;
  }

  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell,
  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell:nth-child(2n) {
    border-right: 0;
  }

  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell--preview,
  .quoteandcut-form-style-workbench .quoteandcut-workbench-cell--actions {
    grid-column: span 1;
  }

  .quoteandcut-form-style-workbench
    .quoteandcut-workbench-cell
    .form-group
    label {
    display: block;
  }
}