.recovery-rule-admin {
  --rr-bg: #171411;
  --rr-panel: #211d19;
  --rr-panel-soft: #29231e;
  --rr-line: rgba(222, 195, 143, .2);
  --rr-gold: #d8bd87;
  --rr-text: #f1ece4;
  --rr-muted: #b8aea2;
  color: var(--rr-text);
  max-width: 100%;
  min-width: 0;
}

.recovery-rule-admin *,
.recovery-rule-admin *::before,
.recovery-rule-admin *::after { box-sizing: border-box; }

.recovery-rule-head,
.recovery-rule-card-head,
.recovery-rule-workbench-head,
.recovery-rule-stage-detail {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.recovery-rule-head {
  background: linear-gradient(135deg, #1a1714, #252019);
  border: 1px solid var(--rr-line);
  padding: 22px;
}

.recovery-rule-head h2,
.recovery-rule-workbench h3,
.recovery-rule-card h3 { margin: 4px 0 6px; }

.recovery-rule-head p,
.recovery-rule-workbench p,
.recovery-rule-card p { color: var(--rr-muted); margin: 0; }

.recovery-rule-head > div:last-child {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.recovery-rule-head > div:last-child > span,
.recovery-rule-count {
  background: rgba(216, 189, 135, .08);
  border: 1px solid var(--rr-line);
  padding: 7px 10px;
}

.recovery-rule-status,
.recovery-rule-conflict {
  background: rgba(216, 189, 135, .08);
  border: 1px solid var(--rr-line);
  margin-top: 12px;
  padding: 12px 14px;
}

.recovery-rule-status.is-dirty { border-color: rgba(224, 178, 92, .56); }
.recovery-rule-status.is-error,
.recovery-rule-conflict {
  background: rgba(133, 43, 36, .2);
  border-color: rgba(225, 114, 99, .52);
}

.recovery-rule-admin-layout {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(220px, 290px) minmax(0, 1fr);
  margin-top: 16px;
  max-width: 100%;
  min-width: 0;
}

.recovery-rule-project-rail,
.recovery-rule-workbench,
.recovery-rule-card,
.recovery-rule-editor {
  background: var(--rr-panel);
  border: 1px solid var(--rr-line);
  min-width: 0;
}

.recovery-rule-project-rail {
  align-self: start;
  max-height: calc(100vh - 150px);
  overflow: hidden;
  position: sticky;
  top: 18px;
}

.recovery-rule-search {
  border-bottom: 1px solid var(--rr-line);
  display: grid;
  gap: 7px;
  padding: 14px;
}

.recovery-rule-admin input,
.recovery-rule-admin textarea,
.recovery-rule-admin select {
  background: #15120f;
  border: 1px solid rgba(222, 195, 143, .25);
  border-radius: 3px;
  color: var(--rr-text);
  font: inherit;
  max-width: 100%;
  min-width: 0;
  padding: 10px 11px;
  width: 100%;
}

.recovery-rule-admin textarea { resize: vertical; }
.recovery-rule-admin input:focus-visible,
.recovery-rule-admin textarea:focus-visible,
.recovery-rule-admin select:focus-visible,
.recovery-rule-admin button:focus-visible {
  outline: 2px solid var(--rr-gold);
  outline-offset: 2px;
}

.recovery-rule-project-list {
  display: grid;
  max-height: calc(100vh - 245px);
  overflow-y: auto;
}

.recovery-rule-project-list button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(222, 195, 143, .1);
  color: var(--rr-text);
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 13px 14px;
  text-align: left;
}

.recovery-rule-project-list button:hover,
.recovery-rule-project-list button.is-active {
  background: rgba(216, 189, 135, .1);
  box-shadow: inset 3px 0 var(--rr-gold);
}

.recovery-rule-project-list span,
.recovery-rule-project-list small,
.recovery-rule-history span,
.recovery-rule-history p { color: var(--rr-muted); }

.recovery-rule-workbench { padding: 16px; }
.recovery-rule-workbench-head { align-items: center; }

.recovery-rule-steps {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 16px 0;
}

.recovery-rule-steps button,
.recovery-rule-stage-tabs button {
  background: #171411;
  border: 1px solid var(--rr-line);
  color: var(--rr-muted);
  cursor: pointer;
  padding: 10px;
  text-align: left;
}

.recovery-rule-steps button span {
  color: var(--rr-gold);
  display: inline-block;
  margin-right: 7px;
}

.recovery-rule-steps button[aria-current="step"],
.recovery-rule-stage-tabs button[aria-selected="true"] {
  background: rgba(216, 189, 135, .12);
  border-color: rgba(216, 189, 135, .55);
  color: var(--rr-text);
}

.recovery-rule-editor {
  background: var(--rr-panel-soft);
  padding: 16px;
}

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

.recovery-rule-form-grid label,
.recovery-rule-publish > label,
.recovery-rule-card > label {
  display: grid;
  gap: 7px;
}

.recovery-rule-form-grid .is-wide { grid-column: 1 / -1; }

.recovery-rule-inline-actions {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.recovery-rule-stage-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px 2px 8px;
}

.recovery-rule-stage-tabs button {
  flex: 0 0 auto;
  min-width: 112px;
}

.recovery-rule-stage-tabs small {
  display: block;
  margin-top: 4px;
}

.recovery-rule-stage-detail,
.recovery-rule-subcard {
  background: #171411;
  border: 1px solid var(--rr-line);
  padding: 15px;
}

.recovery-rule-reaction-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
}

.recovery-rule-camera-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.recovery-rule-camera-list article {
  background: rgba(216, 189, 135, .06);
  border: 1px solid rgba(222, 195, 143, .14);
  display: grid;
  gap: 12px;
  padding: 14px;
}

.recovery-rule-camera-title {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.recovery-rule-choice {
  align-items: flex-start;
  display: flex !important;
  gap: 9px !important;
}

.recovery-rule-choice input {
  flex: 0 0 auto;
  margin-top: 3px;
  width: auto;
}

.recovery-rule-choice span {
  display: grid;
  gap: 3px;
}

.recovery-rule-choice small { color: var(--rr-muted); }
.recovery-rule-choice.is-disabled { opacity: .56; }

.recovery-rule-care-card {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.recovery-rule-care-list {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recovery-rule-care-list > label {
  background: rgba(216, 189, 135, .06);
  border: 1px solid rgba(222, 195, 143, .14);
  padding: 11px;
}

.recovery-rule-care-default {
  display: grid;
  gap: 7px;
  max-width: 420px;
}

.recovery-rule-reaction-grid article,
.recovery-rule-source-list article,
.recovery-rule-preview-evidence article {
  background: rgba(216, 189, 135, .06);
  border: 1px solid rgba(222, 195, 143, .14);
  padding: 12px;
}

.recovery-rule-help { margin-bottom: 12px !important; }

.recovery-rule-artifact-scroll {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.recovery-rule-artifact-scroll table {
  border-collapse: collapse;
  min-width: 820px;
  width: 100%;
}

.recovery-rule-artifact-scroll th,
.recovery-rule-artifact-scroll td {
  border: 1px solid var(--rr-line);
  min-width: 170px;
  padding: 9px;
  text-align: left;
  vertical-align: top;
}

.recovery-rule-artifact-scroll th:first-child {
  left: 0;
  min-width: 220px;
  position: sticky;
  z-index: 1;
}

.recovery-rule-artifact-scroll thead th,
.recovery-rule-artifact-scroll tbody th { background: #171411; }
.recovery-rule-artifact-scroll th small { color: var(--rr-muted); display: block; margin-top: 4px; }

.recovery-rule-source-list,
.recovery-rule-preview-result { margin-top: 16px; }

.recovery-rule-source-list article {
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 8px;
}

.recovery-rule-source-list article p { grid-column: 1 / -1; }

.recovery-rule-preview-empty {
  background: #171411;
  border: 1px dashed var(--rr-line);
  margin-top: 14px !important;
  padding: 16px;
}

.recovery-rule-preview-meta,
.recovery-rule-publish-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.recovery-rule-preview-meta span,
.recovery-rule-publish-summary span {
  border: 1px solid var(--rr-line);
  padding: 7px 9px;
}

.recovery-rule-preview-result pre {
  background: #100e0c;
  border: 1px solid var(--rr-line);
  color: var(--rr-text);
  margin: 12px 0;
  max-height: 360px;
  overflow: auto;
  padding: 14px;
  white-space: pre-wrap;
}

.recovery-rule-preview-evidence {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recovery-rule-preview-evidence article { margin-top: 7px; }

.recovery-rule-card {
  margin-top: 16px;
  padding: 16px;
}

.recovery-rule-validation-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 12px;
}

.recovery-rule-validation ul { list-style: none; margin: 0; padding: 0; }
.recovery-rule-validation li {
  border-left: 3px solid #c89a55;
  display: grid;
  gap: 3px;
  margin-top: 8px;
  padding: 8px 10px;
}
.recovery-rule-validation li.is-blocking { border-left-color: #dd766a; }
.recovery-rule-validation li small { color: var(--rr-muted); overflow-wrap: anywhere; }

.recovery-rule-diff-list { display: grid; gap: 9px; margin-top: 12px; }
.recovery-rule-diff-list article {
  background: #171411;
  border: 1px solid var(--rr-line);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(120px, .4fr) repeat(2, minmax(0, 1fr));
  padding: 12px;
}
.recovery-rule-diff-list span { color: var(--rr-gold); font-size: 12px; }
.recovery-rule-diff-list p { max-height: 110px; overflow: auto; overflow-wrap: anywhere; }

.recovery-rule-publish {
  border-color: rgba(216, 189, 135, .42);
  display: grid;
  gap: 12px;
}

.recovery-rule-confirm {
  align-items: flex-start;
  display: flex !important;
  gap: 9px !important;
}
.recovery-rule-confirm input { margin-top: 3px; width: auto; }
.recovery-rule-publish .btn { justify-self: start; }

.recovery-rule-history { display: grid; gap: 8px; margin-top: 12px; }
.recovery-rule-history article {
  align-items: center;
  background: #171411;
  border: 1px solid var(--rr-line);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 12px;
}
.recovery-rule-history article > div { display: grid; gap: 3px; }

.recovery-rule-empty {
  border: 1px dashed var(--rr-line);
  color: var(--rr-muted);
  margin-top: 16px;
  padding: 22px;
}

.recovery-rule-admin button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

@media (max-width: 980px) {
  .recovery-rule-admin-layout { grid-template-columns: minmax(190px, 230px) minmax(0, 1fr); }
  .recovery-rule-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .recovery-rule-head,
  .recovery-rule-card-head,
  .recovery-rule-workbench-head,
  .recovery-rule-stage-detail {
    align-items: stretch;
    flex-direction: column;
  }
  .recovery-rule-admin-layout { grid-template-columns: 1fr; }
  .recovery-rule-project-rail {
    max-height: none;
    position: static;
  }
  .recovery-rule-project-list { max-height: 280px; }
  .recovery-rule-workbench { padding: 12px; }
  .recovery-rule-steps,
  .recovery-rule-form-grid,
  .recovery-rule-reaction-grid,
  .recovery-rule-preview-evidence,
  .recovery-rule-care-list,
  .recovery-rule-validation-grid,
  .recovery-rule-diff-list article {
    grid-template-columns: 1fr;
  }
  .recovery-rule-diff-list article > * { min-width: 0; }
  .recovery-rule-inline-actions,
  .recovery-rule-history article {
    align-items: stretch;
    flex-direction: column;
  }
}
