/* =========================================================
   RELAY STRATA — RENEWAL WORKSPACE
   Prepare Renewal is a people-and-responsibility workflow.
   ========================================================= */

.relay-guided-renewal { display:none !important; }

.relay-prepare-renewal {
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.relay-prepare-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.72fr);
  gap:40px;
  align-items:end;
  padding:6px 0 28px;
  border-bottom:1px solid #DDE2E7;
}

.relay-prepare-intro h2 {
  margin:0 0 14px;
  color:#111;
  font-size:28px;
  line-height:1.15;
}

.relay-section-bracket { color:#69B68E; font-weight:500; }

.relay-prepare-intro h3 {
  margin:0 0 8px;
  color:#111;
  font-size:20px;
  line-height:1.25;
}

.relay-prepare-intro p {
  max-width:780px;
  margin:0;
  color:#596273;
  font-size:14px;
  line-height:1.55;
}

.relay-prepare-timing {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.relay-prepare-timing label { min-width:0; }

.relay-prepare-timing label > span {
  display:block;
  margin-bottom:6px;
  color:#478A69;
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.relay-prepare-timing strong,
.relay-prepare-timing input {
  box-sizing:border-box;
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  padding:9px 11px;
  border:1px solid #D5DBE1;
  border-radius:8px;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:12px;
}

.relay-prepare-timing input:disabled {
  color:#687386;
  background:#F8F9FA;
}

.relay-prepare-plan { padding:26px 0 0; }

.relay-prepare-plan-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:14px;
}

.relay-prepare-summary {
  display:flex;
  align-items:baseline;
  gap:8px;
  color:#111;
  line-height:1.2;
}

.relay-prepare-summary strong {
  font-size:16px;
  font-weight:800;
}

.relay-prepare-summary span {
  color:#176444;
  font-size:13px;
  font-weight:800;
}

.relay-prepare-summary span::before {
  content:"·";
  margin-right:8px;
  color:#98A2B3;
}

.relay-prepare-table {
  border-top:1px solid #D8DEE4;
  border-bottom:1px solid #D8DEE4;
  background:#fff;
}

.relay-prepare-table-head,
.relay-prepare-row {
  display:grid;
  grid-template-columns:minmax(390px,1.9fr) minmax(150px,.72fr) minmax(190px,.88fr) minmax(140px,.62fr) minmax(120px,.54fr);
  column-gap:16px;
  align-items:center;
}

.relay-prepare-table-head {
  padding:11px 12px;
  border-bottom:1px solid #D8DEE4;
}

.relay-prepare-table-head span {
  display:block;
  margin:0;
  padding:0;
  color:#478A69;
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-align:left;
}

.relay-prepare-row {
  min-height:86px;
  padding:13px 12px;
  border-bottom:1px solid #EDF0F2;
  cursor:pointer;
  transition:opacity .15s ease,background .15s ease;
}

.relay-prepare-row:last-child { border-bottom:0; }
.relay-prepare-row:hover { background:#FCFDFC; }
.relay-prepare-row.is-not-required { opacity:.45; }

.relay-prepare-need { min-width:0; }

.relay-prepare-need-copy strong {
  display:block;
  margin-bottom:4px;
  color:#111;
  font-size:13px;
}

.relay-prepare-need-copy p {
  max-width:520px;
  margin:0;
  color:#6A7482;
  font-size:11px;
  line-height:1.42;
}

.relay-prepare-title-input,
.relay-prepare-description-input {
  box-sizing:border-box;
  display:block;
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  resize:none;
  font-family:inherit;
  cursor:text;
}

.relay-prepare-title-input {
  margin:0 0 3px;
  padding:0;
  color:#111;
  font-size:13px;
  font-weight:700;
}

.relay-prepare-description-input {
  padding:0;
  color:#6A7482;
  font-size:11px;
  line-height:1.42;
}

.relay-prepare-title-input:focus,
.relay-prepare-description-input:focus { box-shadow:inset 0 -1px 0 #A7DCC1; }

.relay-prepare-activity-link {
  margin:7px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#478A69;
  font:700 10px/1.25 Arial,sans-serif;
  cursor:pointer;
  text-decoration:none;
}

.relay-prepare-activity-link:hover { text-decoration:underline; text-underline-offset:2px; }

.relay-prepare-select,
.relay-prepare-date {
  box-sizing:border-box;
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:1px solid #D7DDE3;
  border-radius:7px;
  background:#fff;
  color:#17212B;
  font-family:inherit;
  font-size:11px;
  cursor:pointer;
}

.relay-prepare-date { cursor:text; }

.relay-prepare-select:hover,
.relay-prepare-date:hover,
.relay-prepare-select:focus,
.relay-prepare-date:focus {
  border-color:#A7DCC1;
  outline:none;
}

.relay-prepare-select:disabled,
.relay-prepare-date:disabled {
  color:#687386;
  background:#F8F9FA;
  cursor:not-allowed;
}

.relay-prepare-status {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  color:#687386;
  font:700 10px/1.25 Arial,sans-serif;
  cursor:pointer;
  text-align:left;
}

.relay-prepare-status::before {
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#C7CED7;
}

.relay-prepare-status.is-sent { color:#596273; }
.relay-prepare-status.is-sent::before { background:#9FA8B4; }
.relay-prepare-status.is-in-progress { color:#9A4B0B; }
.relay-prepare-status.is-in-progress::before { background:#F28A30; }
.relay-prepare-status.is-received { color:#176444; }
.relay-prepare-status.is-received::before { background:#69B68E; }
.relay-prepare-status.is-not-needed { color:#8A929E; }
.relay-prepare-status.is-not-needed::before { background:#D5DAE0; }

.relay-prepare-primary-action {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:62px;
  padding:16px 0 0;
}

.relay-prepare-ready-note {
  color:#176444;
  font-size:11px;
  font-weight:800;
}

.relay-prepare-empty { padding:28px 0; }
.relay-prepare-empty h2 { margin:6px 0; font-size:21px; }
.relay-prepare-empty p { margin:0; color:#687386; }

/* Requirement conversation */
.relay-thread-backdrop {
  position:fixed;
  inset:0;
  z-index:10120;
  display:flex;
  justify-content:flex-end;
  background:rgba(17,17,17,.28);
}

.relay-thread-panel {
  box-sizing:border-box;
  width:min(540px,100vw);
  height:100vh;
  overflow:auto;
  padding:28px;
  background:#fff;
  border-left:1px solid #DDE2E7;
  box-shadow:-14px 0 40px rgba(17,17,17,.12);
}

.relay-thread-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid #E5E9ED;
}

.relay-thread-head h3 {
  margin:5px 0 6px;
  color:#111;
  font-size:22px;
  line-height:1.25;
}

.relay-thread-head p {
  margin:0;
  color:#687386;
  font-size:12px;
  line-height:1.5;
}

.relay-thread-close {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:#F4F6F7;
  color:#444;
  font-size:21px;
  cursor:pointer;
}

.relay-thread-meta {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:16px 0;
  border-bottom:1px solid #EEF1F3;
}

.relay-thread-meta span {
  color:#111;
  font-size:11px;
  line-height:1.35;
}

.relay-thread-meta strong {
  display:block;
  margin-bottom:4px;
  color:#687386;
  font-size:9px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.relay-thread-actions {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  padding:16px 0 4px;
}

.relay-thread-messages {
  margin-top:14px;
  border-top:1px solid #EEF1F3;
}

.relay-thread-message {
  padding:14px 0;
  border-bottom:1px solid #EEF1F3;
}

.relay-thread-message > div {
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.relay-thread-message strong { color:#111; font-size:11px; }
.relay-thread-message span { color:#8A929E; font-size:9px; }
.relay-thread-message p { margin:6px 0 0; color:#394452; font-size:12px; line-height:1.5; white-space:pre-wrap; }
.relay-thread-empty { padding:22px 0; color:#7B8490; font-size:11px; }

.relay-thread-form {
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #E5E9ED;
}

.relay-thread-form label > span {
  display:block;
  margin-bottom:7px;
  color:#344054;
  font-size:11px;
  font-weight:700;
}

.relay-thread-form textarea {
  box-sizing:border-box;
  width:100%;
  min-height:90px;
  padding:11px 12px;
  border:1px solid #D5DBE1;
  border-radius:7px;
  resize:vertical;
  font:12px/1.45 Arial,sans-serif;
}

.relay-thread-form .button { margin-top:10px; }

.relay-decision-columns {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:22px;
}

.relay-decision-columns .relay-panel { padding:20px; }
.relay-decision-columns strong { display:block; margin-top:8px; font-size:18px; }

.relay-renewal-panel .relay-renewal-journey-header,
.relay-renewal-panel .relay-renewal-journey-steps { display:none !important; }

@media (max-width:1220px) {
  .relay-prepare-intro { grid-template-columns:1fr; gap:22px; }
  .relay-prepare-table { overflow-x:auto; }
  .relay-prepare-table-head,
  .relay-prepare-row { min-width:980px; }
}

@media (max-width:760px) {
  .relay-prepare-intro { padding-bottom:22px; }
  .relay-prepare-intro h2 { font-size:24px; }
  .relay-prepare-timing { grid-template-columns:1fr; }
  .relay-prepare-plan-head { align-items:flex-start; flex-direction:column; }
  .relay-thread-panel { width:100vw; padding:22px; }
  .relay-thread-meta { grid-template-columns:1fr; }
  .relay-decision-columns { grid-template-columns:1fr; }
}
