/* v43 — hingelepingu eesmärgid ja sisukõrgusega otsustusaknad. */

/* V36 peidab isealgatatud kontakti paneeli, seega ei tohi selle "visible"
   klass Pika Valge konsooli endiselt kitsaks üheveeruliseks suruda. */
.scene[data-room-owner="white"] .incoming-contact-panel.visible + .holo-console {
  left: var(--screen-x) !important;
  width: var(--screen-w) !important;
}
.scene[data-room-owner="white"] .incoming-contact-panel.visible + .holo-console .choice-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Lihtsad valikuaknad kasutavad sisu tegelikku kõrgust. */
.scene[data-step-type="choices"] .holo-console,
.scene[data-step-type="visits"] .holo-console {
  height: auto !important;
  min-height: 0 !important;
  max-height: var(--screen-h) !important;
  grid-template-rows: auto auto auto !important;
  align-content: start !important;
}

.scene[data-step-type="choices"] .interactive-area,
.scene[data-step-type="visits"] .interactive-area {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.scene[data-step-type="choices"] .choice-grid,
.scene[data-step-type="visits"] .choice-grid {
  height: auto !important;
  min-height: 0 !important;
  grid-auto-rows: auto !important;
  align-content: start !important;
}

.scene[data-step-type="choices"] .choice-button,
.scene[data-step-type="visits"] .choice-button {
  height: auto !important;
  min-height: clamp(66px, 5.15cqw, 94px) !important;
}

/* Paaritu valikute arv ei jäta viimase kaardi kõrvale tühja poolikut rida. */
.scene[data-step-type="choices"] .choice-grid > .choice-button:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

/* Ülehinge aktiveerimistee ja lõplik luba on kõige lühemad otsused. */
.scene[data-step-source="route"] .holo-console,
.scene[data-step-source="authorization"] .holo-console {
  max-height: 54% !important;
}

.scene[data-step-source="route"] .choice-button,
.scene[data-step-source="authorization"] .choice-button {
  min-height: clamp(62px, 4.65cqw, 86px) !important;
}

.contract-form-shell,
.contract-goals-shell {
  display: grid;
  gap: .48cqw;
  min-height: 0;
}

.contract-form-context {
  border-color: rgba(255, 204, 75, .68);
  background: linear-gradient(135deg, rgba(63, 44, 7, .9), rgba(4, 25, 48, .94));
}
.contract-form-context > span { color: #ffd35e; }
.contract-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

.contract-goals-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5cqw;
  align-items: center;
  padding: .48cqw .58cqw;
  border: 1px solid rgba(255, 204, 65, .64);
  border-radius: .48cqw;
  background: linear-gradient(135deg, rgba(68, 47, 5, .84), rgba(4, 29, 55, .9));
}
.contract-goals-summary span {
  display: block;
  color: #ffd45e;
  font-size: clamp(8px, .5cqw, 10px);
  font-weight: 950;
  letter-spacing: .08em;
}
.contract-goals-summary strong {
  display: block;
  margin-top: .1cqw;
  color: #fff7d4;
  font-size: clamp(11px, .72cqw, 14px);
}
.contract-goals-summary > b {
  padding: .28cqw .42cqw;
  border: 1px solid rgba(255, 213, 86, .66);
  border-radius: .38cqw;
  color: #ffe36f;
  background: rgba(52, 39, 7, .72);
  font-size: clamp(10px, .66cqw, 13px);
}

.contract-target-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .42cqw;
}
.contract-target-card {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 2.35cqw minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) .28cqw;
  gap: .3cqw .45cqw;
  padding: .5cqw;
  overflow: hidden;
  border: 1px solid rgba(84, 211, 250, .48);
  border-radius: .48cqw;
  background: linear-gradient(145deg, rgba(5, 43, 75, .94), rgba(2, 20, 44, .96));
}
.contract-target-card.met {
  border-color: rgba(87, 238, 176, .76);
  box-shadow: inset 0 0 .8cqw rgba(71, 223, 163, .09);
}
.contract-target-icon {
  width: 2.35cqw;
  height: 2.35cqw;
  min-width: 28px;
  min-height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 0 .38cqw rgba(78, 220, 255, .54));
}
.contract-target-card > div {
  min-width: 0;
  display: grid;
  gap: .1cqw;
  align-content: center;
}
.contract-target-card span {
  color: #86dcf2;
  font-size: clamp(8px, .52cqw, 10px);
  font-weight: 900;
  text-transform: uppercase;
}
.contract-target-card strong {
  color: #f3fdff;
  font-size: clamp(13px, .86cqw, 17px);
  line-height: 1.05;
}
.contract-target-card small {
  color: #ffd25d;
  font-size: clamp(8px, .48cqw, 9px);
  font-weight: 900;
}
.contract-target-card > i {
  grid-column: 1 / -1;
  height: .28cqw;
  min-height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(71, 137, 166, .2);
}
.contract-target-card > i > em {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #44cfff, #60efaf);
  box-shadow: 0 0 .5cqw rgba(76, 233, 184, .45);
}

.contract-goals-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .55cqw;
  align-items: center;
  padding: .42cqw .52cqw;
  border: 1px solid rgba(92, 208, 242, .32);
  border-radius: .45cqw;
  background: rgba(3, 27, 51, .82);
}
.contract-goals-footer > span {
  color: #bddce7;
  font-size: clamp(9px, .57cqw, 11px);
  line-height: 1.2;
}
.contract-goals-footer .primary-button { white-space: nowrap; }

.drawer-contract-targets {
  display: grid;
  gap: .35cqw;
  margin-top: .6cqw;
}
.drawer-contract-targets > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .15cqw .45cqw;
  padding: .42cqw .48cqw;
  border: 1px solid rgba(83, 203, 235, .28);
  border-radius: .42cqw;
  background: rgba(3, 29, 52, .72);
}
.drawer-contract-targets > div.met { border-color: rgba(79, 224, 166, .5); }
.drawer-contract-targets span { color: #8bdcf0; font-size: var(--small); font-weight: 850; }
.drawer-contract-targets b { color: #fff; font-size: var(--small); }
.drawer-contract-targets i {
  grid-column: 1 / -1;
  height: 4px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(65, 129, 157, .2);
}
.drawer-contract-targets em {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #49d3ff, #63edae);
}

.contract-result-bars {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@container (max-width: 980px) {
  .contract-target-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contract-target-card { grid-template-columns: 28px minmax(0, 1fr); }
  .contract-target-icon { width: 28px; height: 28px; }
  .contract-goals-footer { grid-template-columns: minmax(0, 1fr) auto; }
}
