/* Internal task marketplace and contractor price negotiation. */

.marketplace-filters {
  grid-template-columns: minmax(220px, 1.4fr) minmax(150px, .8fr) minmax(160px, .8fr) minmax(170px, .8fr);
}

.marketplace-filter-toggle {
  display: flex;
  min-height: 46px;
  align-items: center;
  align-self: end;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #080809;
  color: #d4d4d7;
  font-size: 10px;
}

.marketplace-filter-toggle input {
  width: 17px;
  height: 17px;
  accent-color: var(--red);
}

.marketplace-availability {
  margin: -6px 0 22px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.marketplace-card {
  min-height: 310px;
}

.marketplace-card__description {
  display: -webkit-box;
  min-height: 50px;
  margin-top: 13px !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.marketplace-card__flags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.marketplace-flag {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 99px;
  color: #c8c8cc;
  font-size: 8px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.marketplace-flag--mine {
  border-color: rgba(95,200,138,.34);
  background: rgba(95,200,138,.08);
  color: #71d49a;
}

.marketplace-flag--urgent {
  border-color: rgba(226,185,95,.34);
  background: rgba(226,185,95,.08);
  color: #e2c679;
}

.marketplace-publication-copy {
  margin: 18px 0 0;
  color: #c9c9cd;
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.marketplace-work-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.marketplace-work-row {
  display: grid;
  min-height: 58px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}

.marketplace-work-row span {
  display: grid;
  gap: 4px;
}

.marketplace-work-row small {
  color: var(--muted);
  font-size: 9px;
}

.marketplace-work-row b {
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}

.marketplace-notice {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(226,185,95,.28);
  border-radius: 9px;
  background: rgba(226,185,95,.07);
  color: #e6cc91;
  font-size: 11px;
  line-height: 1.55;
}

.marketplace-notice--safe {
  border-color: rgba(95,200,138,.28);
  background: rgba(95,200,138,.07);
  color: #91dcaf;
}

.marketplace-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.marketplace-form-grid > .workflow-field--wide,
.marketplace-form-grid > .workflow-checkbox,
.marketplace-form-grid > .marketplace-form-wide {
  grid-column: 1 / -1;
}

.marketplace-command-panel {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #080809;
}

.marketplace-command-panel h4 {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 450;
}

.marketplace-command-panel .workflow-form {
  margin-top: 0;
}

.marketplace-candidate-table {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}

.marketplace-candidate-row {
  display: grid;
  grid-template-columns: minmax(145px, 1.2fr) minmax(115px, .8fr) minmax(130px, .9fr) minmax(150px, 1.2fr) minmax(210px, 1.5fr);
  gap: 14px;
  align-items: start;
  padding: 16px;
  border-bottom: 1px solid var(--line);
}

.marketplace-candidate-row:last-child {
  border-bottom: 0;
}

.marketplace-candidate-row--heading {
  padding-top: 12px;
  padding-bottom: 12px;
  background: rgba(255,255,255,.025);
  color: var(--muted);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.marketplace-candidate-cell {
  min-width: 0;
  color: #d6d6d9;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.marketplace-candidate-cell::before {
  display: none;
  margin-bottom: 5px;
  color: var(--muted);
  content: attr(data-label);
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.marketplace-candidate-cell strong,
.marketplace-candidate-cell small {
  display: block;
}

.marketplace-candidate-cell small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
}

.marketplace-candidate-actions {
  display: grid;
  gap: 9px;
}

.marketplace-candidate-actions textarea {
  width: 100%;
  min-height: 74px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #070708;
  resize: vertical;
}

.marketplace-candidate-actions .workflow-button {
  width: 100%;
}

.marketplace-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
}

.marketplace-metrics span {
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 8px;
  text-align: center;
}

.marketplace-price-list {
  display: grid;
  gap: 10px;
}

.marketplace-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #080809;
}

.marketplace-price-row strong,
.marketplace-price-row small {
  display: block;
}

.marketplace-price-row small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
}

.marketplace-price-row button {
  min-width: 118px;
}

.marketplace-price-timeline {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}

.marketplace-price-event {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.marketplace-price-event time {
  color: var(--muted);
  font-size: 9px;
}

.marketplace-price-event strong {
  display: block;
  font-size: 12px;
}

.marketplace-price-event p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.marketplace-price-event b {
  display: block;
  margin-top: 8px;
  color: #dce1ff;
  font-size: 12px;
  font-weight: 500;
}

.workflow-status[data-status="OPEN"],
.workflow-status[data-status="SUBMITTED"],
.workflow-status[data-status="REQUESTED"],
.workflow-status[data-status="FOREMAN_REVIEWED"],
.workflow-status[data-status="SELECTION"],
.workflow-status[data-status="COUNTEROFFERED"] {
  background: rgba(226,185,95,.13);
  color: #e2c679;
}

.workflow-status[data-status="AWARDED"],
.workflow-status[data-status="RECOMMENDED"],
.workflow-status[data-status="ACCEPTED"],
.workflow-status[data-status="DIRECTOR_APPROVED"],
.workflow-status[data-status="CONTRACTOR_ACCEPTED"] {
  background: rgba(95,200,138,.13);
  color: #71d49a;
}

.workflow-status[data-status="CANCELLED"],
.workflow-status[data-status="EXPIRED"],
.workflow-status[data-status="WITHDRAWN"],
.workflow-status[data-status="REJECTED"],
.workflow-status[data-status="DIRECTOR_REJECTED"],
.workflow-status[data-status="CONTRACTOR_DECLINED"] {
  background: rgba(255,48,37,.13);
  color: #ff827b;
}

@media (max-width: 1100px) {
  .marketplace-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .marketplace-candidate-row {
    grid-template-columns: minmax(140px, 1fr) minmax(110px, .7fr) minmax(120px, .8fr) minmax(190px, 1.3fr);
  }

  .marketplace-candidate-row > :nth-child(4) {
    display: none;
  }
}

@media (max-width: 720px) {
  .marketplace-filters,
  .marketplace-form-grid,
  .marketplace-price-row {
    grid-template-columns: 1fr;
  }

  .marketplace-form-grid > .workflow-field--wide,
  .marketplace-form-grid > .workflow-checkbox,
  .marketplace-form-grid > .marketplace-form-wide {
    grid-column: auto;
  }

  .marketplace-candidate-table {
    display: grid;
    gap: 12px;
    overflow: visible;
    border: 0;
  }

  .marketplace-candidate-row--heading {
    display: none;
  }

  .marketplace-candidate-row {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #080809;
  }

  .marketplace-candidate-row > :nth-child(4) {
    display: block;
  }

  .marketplace-candidate-cell::before {
    display: block;
  }

  .marketplace-price-row button,
  .marketplace-command-panel .workflow-button {
    width: 100%;
  }

  .marketplace-price-event {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 480px) {
  .marketplace-work-row,
  .marketplace-price-row {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 13px 0;
  }

  .marketplace-work-row b {
    white-space: normal;
  }

  .marketplace-command-panel {
    padding: 15px;
  }

  .marketplace-metrics {
    grid-template-columns: 1fr;
  }
}
