.brand-link {
  color: inherit;
  text-decoration: none;
}

.brand-link:focus-visible,
.nav-return:focus-visible {
  outline: 3px solid rgb(205 232 221 / 65%);
  outline-offset: 4px;
}

.insights-workspace .app-nav {
  display: grid;
  gap: 8px;
}

.insights-workspace .app-nav > div {
  margin-bottom: 12px;
}

.nav-return {
  display: block;
  margin-top: 12px;
  padding: 12px 16px;
  color: #557069;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.nav-return:hover {
  color: #1a5e4f;
  background: #eef6f3;
  border-radius: 10px;
}

.insights-content {
  min-width: 0;
}

.insights-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(440px, 1.2fr);
  gap: 20px;
  align-items: start;
}

.export-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(520px, 1.28fr);
  gap: 20px;
  align-items: start;
}

.insights-panel,
.insights-detail {
  min-width: 0;
  padding: 24px;
}

.insights-list {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}

.insights-item {
  width: 100%;
  min-height: 0;
  padding: 15px;
  color: #17342d;
  text-align: left;
  border-color: #dce7e3;
  background: #fff;
}

.insights-item:hover,
.insights-item.active {
  color: #17342d;
  border-color: #78ad9e;
  background: #f1f8f5;
}

.insights-item strong,
.insights-item span,
.insights-item small {
  display: block;
}

.insights-item span,
.insights-item small {
  margin-top: 5px;
  color: #73857f;
  font-size: 13px;
  font-weight: 500;
}

.filter-grid,
.form-grid,
.step-fields,
.fact-grid--three {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.filter-grid {
  margin-top: 16px;
}

.filter-grid label,
.form-grid label,
.step-fields label,
.finding-decision label {
  display: grid;
  gap: 7px;
  color: #49655d;
  font-size: 13px;
  font-weight: 700;
}

.review-form > label,
.review-item-form > label,
.review-evidence-form > label,
.review-queue-filters label {
  display: grid;
  gap: 7px;
  color: #49655d;
  font-size: 13px;
  font-weight: 700;
}

.filter-grid select,
.filter-grid input,
.form-grid select,
.form-grid input,
.form-grid textarea,
.step-fields input,
.finding-decision select,
.finding-decision input,
.finding-decision textarea {
  width: 100%;
  padding: 10px 11px;
  color: #17342d;
  font: inherit;
  font-weight: 500;
  border: 1px solid #cbded7;
  border-radius: 10px;
  background: #fff;
}

.review-form textarea,
.review-item-form select,
.review-item-form textarea,
.review-evidence-form select,
.review-evidence-form input,
.review-evidence-form textarea,
.review-queue-filters select {
  width: 100%;
  padding: 10px 11px;
  color: #17342d;
  font: inherit;
  font-weight: 500;
  border: 1px solid #cbded7;
  border-radius: 10px;
  background: #fff;
}

.review-form textarea,
.review-item-form textarea,
.review-evidence-form textarea {
  resize: vertical;
}

.form-grid textarea,
.finding-decision textarea {
  resize: vertical;
}

.filter-grid select:focus,
.filter-grid input:focus,
.form-grid select:focus,
.form-grid input:focus,
.form-grid textarea:focus,
.step-fields input:focus,
.finding-decision select:focus,
.finding-decision input:focus,
.finding-decision textarea:focus {
  outline: 3px solid rgb(30 136 111 / 16%);
  border-color: #68a493;
}

.review-form textarea:focus,
.review-item-form select:focus,
.review-item-form textarea:focus,
.review-evidence-form select:focus,
.review-evidence-form input:focus,
.review-evidence-form textarea:focus,
.review-queue-filters select:focus {
  outline: 3px solid rgb(30 136 111 / 16%);
  border-color: #68a493;
}

.filter-actions,
.form-actions,
.detail-actions,
.finding-decision-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.filter-actions button:first-child,
.form-actions button:first-child,
.detail-actions button:first-child,
.finding-decision-actions button:first-child {
  margin-right: auto;
}

.form-section {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #e8efec;
}

.form-section h3 {
  margin-bottom: 7px;
}

.form-section > p {
  margin-bottom: 14px;
}

.binding-preview,
.notice-box,
.receipt-box,
.export-placeholder {
  margin-top: 16px;
  padding: 16px;
  border-radius: 14px;
}

.binding-preview,
.notice-box {
  color: #3e675c;
  background: #edf6f2;
}

.receipt-box {
  color: #1d5f50;
  background: #e2f1eb;
}

.notice-box--warning {
  color: #7a5520;
  background: #fff6df;
}

.notice-box--error {
  color: #963f3f;
  background: #fff0f0;
}

.binding-preview p,
.notice-box p,
.receipt-box p,
.export-placeholder p {
  margin-bottom: 0;
  color: inherit;
}

.binding-preview p + p,
.notice-box p + p,
.receipt-box p + p {
  margin-top: 8px;
}

.export-form-grid {
  margin-top: 18px;
}

.export-file-list,
.review-item-list,
.review-evidence-list,
.review-evidence-form-list,
.review-queue-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.export-file-row,
.review-item-card,
.review-item-form,
.review-evidence-form,
.review-queue-item {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dce7e3;
  border-radius: 12px;
  background: #fbfcfc;
}

.export-file-row,
.review-queue-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.export-file-row small,
.review-item-card small,
.review-queue-item small {
  display: block;
  margin-bottom: 5px;
  color: #73857f;
}

.export-file-row code {
  max-width: 52%;
  color: #557069;
}

.review-detail > p {
  margin-top: 14px;
}

.review-item-card strong,
.review-queue-item strong {
  display: block;
}

.review-item-card ul {
  margin: 10px 0 0;
  padding-left: 20px;
  color: #5f756e;
  line-height: 1.7;
}

.review-item-form {
  display: grid;
  gap: 12px;
}

.review-item-form legend {
  padding: 0 5px;
  color: #24483e;
  font-size: 14px;
  font-weight: 800;
}

.review-evidence-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  background: #fff;
}

.review-evidence-form textarea,
.review-evidence-form button {
  grid-column: 1 / -1;
}

.review-count {
  margin: 12px 0 0;
  color: #72857e;
  font-size: 13px;
}

.review-queue {
  margin-bottom: 20px;
  padding: 24px;
}

.pending-mutation {
  margin-bottom: 20px;
  padding: 18px 20px;
  color: #7a5520;
  border: 1px solid #f0d79d;
  background: #fff6df;
}

.pending-mutation p {
  margin: 6px 0 12px;
  color: inherit;
}

.review-queue-filters {
  width: min(100%, 260px);
  margin-top: 16px;
}

.review-queue-item p {
  margin: 7px 0 0;
}

.review-queue-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.compact-empty {
  padding: 30px 20px;
}

.trial-step-list {
  display: grid;
  gap: 10px;
}

.trial-step {
  padding: 15px;
  border: 1px solid #dde8e4;
  border-radius: 13px;
  background: #fbfcfc;
}

.trial-step legend {
  padding: 0 4px;
  color: #24483e;
  font-size: 14px;
  font-weight: 800;
}

.outcome-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 7px;
}

.outcome-options label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 9px;
  color: #48645c;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid #d7e5df;
  border-radius: 9px;
  background: #fff;
}

.outcome-options input {
  width: auto;
  margin: 0;
}

.trial-step details {
  margin-top: 12px;
}

.trial-step summary {
  cursor: pointer;
  color: #256756;
  font-size: 13px;
  font-weight: 750;
}

.step-fields {
  margin-top: 12px;
}

.step-fields textarea {
  grid-column: 1 / -1;
}

.overall-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #dce9e4;
  border-radius: 12px;
  background: #f5faf8;
}

.overall-preview small,
.overall-preview strong {
  display: block;
}

.overall-preview small {
  color: #72857e;
}

.code-value {
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

.detail-empty {
  padding: 72px 20px;
  text-align: center;
}

.detail-empty p {
  margin-bottom: 0;
}

.finding-decision {
  margin-top: 20px;
  padding: 18px;
  border-radius: 14px;
  background: #edf6f2;
}

.finding-decision h3 {
  margin-bottom: 7px;
}

.finding-decision p {
  color: #3e675c;
}

.export-placeholder {
  padding: 36px;
  text-align: center;
  border: 1px solid #dce7e2;
  background: #fff;
}

.export-placeholder h2 {
  margin-bottom: 10px;
}

.field-error {
  color: #a13f3f;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .insights-layout,
  .export-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .filter-grid,
  .form-grid,
  .step-fields,
  .fact-grid--three {
    grid-template-columns: 1fr;
  }

  .review-evidence-form {
    grid-template-columns: 1fr;
  }

  .insights-panel,
  .insights-detail {
    padding: 20px;
  }

  .filter-actions,
  .form-actions,
  .detail-actions,
  .finding-decision-actions {
    flex-direction: column;
  }

  .filter-actions button:first-child,
  .form-actions button:first-child,
  .detail-actions button:first-child,
  .finding-decision-actions button:first-child {
    margin-right: 0;
  }

  .overall-preview {
    align-items: flex-start;
    flex-direction: column;
  }

  .export-file-row,
  .review-queue-item {
    align-items: stretch;
    flex-direction: column;
  }

  .export-file-row code {
    max-width: none;
  }

  .review-queue-actions {
    flex-direction: column;
    justify-content: stretch;
  }
}
