.rd {
  --rd-ink: #192a28;
  --rd-muted: #53645e;
  --rd-line: #d9dfda;
  --rd-green: #205a43;
  --rd-paper: #fff;
  --rd-pale: #f4f7f3;
  color: var(--rd-ink);
  width: 100%;
  min-width: 0;
}
.rd *, .rd *::before, .rd *::after { box-sizing: border-box; }
.rd h1, .rd h2, .rd h3, .rd h4, .rd p { margin: 0; }
.rd .rd-page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 26px;
}
.rd .rd-page-heading h1 { font-size: clamp(30px, 4vw, 42px); font-weight: 650; letter-spacing: -.055em; line-height: 1.13; }
.rd .rd-page-heading .rd-hint { margin-top: 7px; }
.rd .rd-hint, .rd .rd-loading { color: var(--rd-muted); font-size: 14px; line-height: 1.55; }
.rd .rd-icon { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.rd .rd-mono { font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.rd .rd-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--rd-ink);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  cursor: pointer;
}
.rd .rd-button:focus-visible, .rd summary:focus-visible {
  outline: 2px solid #38805d;
  outline-offset: 3px;
}
.rd .rd-primary { background: var(--rd-green); border-color: var(--rd-green); color: white; }
.rd .rd-primary:hover { background: #164631; }
.rd .rd-secondary, .rd .rd-small { border-color: var(--rd-line); background: var(--rd-paper); }
.rd .rd-secondary:hover, .rd .rd-small:hover, .rd .rd-quiet:hover { background: #eef4ee; border-color: #a9bbae; }
.rd .rd-small { min-height: 30px; padding: 5px 9px; font-size: 12px; }
.rd .rd-small .rd-icon { width: 13px; height: 13px; }
.rd .rd-icon-button { min-height: 30px; width: 30px; padding: 4px; color: var(--rd-muted); }
.rd .rd-button:disabled { opacity: .38; pointer-events: none; }
.rd .rd-link, .rd .rd-back { color: var(--rd-green); }
.rd .rd-back { padding: 0; margin-bottom: 7px; min-height: 27px; }
.rd .rd-link { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; text-align: left; overflow-wrap: anywhere; padding-left: 0; }
.rd .rd-link:hover, .rd .rd-back:hover { text-decoration: underline; text-underline-offset: .2em; }
.rd .rd-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rd .rd-card, .rd .rd-table-wrap, .rd .rd-empty {
  border: 1px solid var(--rd-line);
  background: var(--rd-paper);
  border-radius: 11px;
  box-shadow: 0 1px 2px #18352708;
}
.rd .rd-empty { min-height: 290px; display: grid; align-content: center; justify-items: center; gap: 12px; padding: 34px 20px; text-align: center; }
.rd .rd-stamp { width: 47px; height: 47px; border-radius: 12px; display: grid; place-items: center; background: #e9f3e9; color: var(--rd-green); margin-bottom: 2px; }
.rd .rd-stamp .rd-icon { width: 22px; height: 22px; }
.rd .rd-empty .rd-hint { max-width: 375px; }
.rd .rd-table-wrap { overflow-x: auto; }
.rd table.rd-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rd .rd-table td, .rd .rd-table th { padding: 12px 18px; vertical-align: middle; text-align: left; border-bottom: 1px solid var(--rd-line); }
.rd .rd-table th { background: var(--rd-pale); font-size: 12px; color: var(--rd-muted); font-weight: 600; }
.rd .rd-table tbody tr:last-child td { border-bottom: 0; }
.rd .rd-table td:first-child { width: 55%; }
.rd .rd-table td:last-child { text-align: right; }
.rd .rd-status, .rd .rd-index { font-size: 12px; font-weight: 650; font-variant-numeric: tabular-nums; }
.rd .rd-status { color: #274c3d; background: #edf3ed; border: 1px solid #dae6da; border-radius: 5px; padding: 3px 7px; }
.rd .rd-form { width: min(100%, 1080px); margin: 0 auto; }
.rd .rd-form > .rd-card { margin-bottom: 16px; }
.rd .rd-card { padding: clamp(15px, 2.5vw, 27px); }
.rd .rd-section-heading { margin-bottom: 17px; }
.rd h3 { font-size: 18px; letter-spacing: -.027em; line-height: 1.25; }
.rd .rd-section-heading .rd-hint { margin-top: 4px; }
.rd .rd-field { display: grid; gap: 7px; min-width: 0; }
.rd .rd-label { font-weight: 600; font-size: 12px; color: #3a4a42; }
.rd .rd-input {
  display: block;
  min-width: 0;
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #cbd5cc;
  background: var(--rd-paper);
  border-radius: 6px;
  color: var(--rd-ink);
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
}
.rd .rd-input:focus-visible { outline: 2px solid #37805d; outline-offset: 1px; }
.rd .rd-input::placeholder { color: #748379; opacity: 1; }
.rd .rd-input.rd-mono { font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: 13px; }
.rd textarea.rd-input { display: block; min-height: 90px; resize: vertical; line-height: 1.55; tab-size: 2; }
.rd input[type="number"].rd-input { max-width: 112px; }
.rd .rd-path-preview { font-size: 12px; overflow-wrap: anywhere; color: var(--rd-muted); margin-top: 7px; }
.rd .rd-response { display: grid; gap: 15px; min-width: 0; }
.rd .rd-rule-list, .rd .rd-conditions { display: grid; min-width: 0; }
.rd .rd-rule-list { gap: 10px; }
.rd .rd-rule-list:not(:empty) { margin-bottom: 14px; }
.rd .rd-rule { position: relative; border: 1px solid #d2dcd3; border-radius: 8px; min-width: 0; }
.rd .rd-rule-tools { position: absolute; top: 6px; right: 7px; display: flex; gap: 2px; }
.rd .rd-rule-summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 7px 112px 7px 12px; background: var(--rd-pale); border-radius: 7px; cursor: pointer; list-style: none; }
.rd .rd-rule-summary::-webkit-details-marker { display: none; }
.rd .rd-rule-details[open] > summary { border-bottom: 1px solid var(--rd-line); border-radius: 7px 7px 0 0; }
.rd .rd-rule-details[open] > summary > svg:first-child { transform: rotate(90deg); }
.rd .rd-rule-name { font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.rd .rd-index { display: inline-grid; place-items: center; min-width: 21px; height: 22px; color: var(--rd-green); background: #e4ede4; border-radius: 4px; }
.rd .rd-rule-body { display: grid; gap: 13px; padding: 15px; min-width: 0; }
.rd .rd-rule-body h4 { font-size: 13px; margin-top: 5px; color: var(--rd-green); }
.rd .rd-condition-group { display: grid; gap: 10px; min-width: 0; border: 1px solid #dbe4db; border-left: 3px solid #91b49d; border-radius: 7px; background: #f7f9f6; padding: 12px; }
.rd .rd-condition-group .rd-condition-group { background: #fff; margin-top: 3px; }
.rd .rd-group-bar { display: flex; align-items: center; gap: 7px; color: var(--rd-green); }
.rd .rd-group-bar .rd-input { width: auto; min-height: 30px; padding: 4px 6px; font-size: 12px; font-weight: 650; color: var(--rd-green); }
.rd .rd-group-bar .rd-icon-button { margin-left: auto; }
.rd .rd-conditions { gap: 8px; }
.rd .rd-condition { display: flex; align-items: center; gap: 6px; min-width: 0; }
.rd .rd-condition > .rd-input { width: 0; flex: 1 1 100px; padding: 7px; font-size: 13px; }
.rd .rd-condition > .rd-icon-button { flex: none; }
.rd .rd-group-actions { gap: 6px; }
.rd .rd-editor-footer { display: flex; justify-content: flex-end; }
.rd .rd-danger { color: #943c31; }
.rd .rd-danger:hover { background: #faeee9; }
.rd .rd-alert { padding: 12px 15px; background: #fbefe9; border: 1px solid #e6c4b7; color: #812e24; margin-bottom: 15px; border-radius: 8px; font-size: 14px; overflow-wrap: anywhere; }
.rd .rd-alert[hidden] { display: none; }
@media (max-width: 780px) {
  .rd .rd-condition { flex-wrap: wrap; }
  .rd .rd-condition > .rd-input { flex-basis: calc(47% - 36px); }
  .rd .rd-condition-group { padding: 9px; }
}
@media (max-width: 540px) {
  .rd .rd-page-heading { align-items: flex-start; margin-bottom: 19px; }
  .rd .rd-page-heading > .rd-button { flex-shrink: 0; }
  .rd .rd-edit-heading { flex-wrap: wrap; gap: 9px; }
  .rd .rd-table td, .rd .rd-table th { padding: 8px; }
  .rd .rd-table td:first-child { width: auto; }
  .rd .rd-rule-body { padding: 10px; }
  .rd .rd-condition { display: grid; grid-template-columns: minmax(0, 1fr) 28px; padding-bottom: 7px; border-bottom: 1px solid var(--rd-line); }
  .rd .rd-condition > .rd-input { width: 100%; grid-column: 1; }
  .rd .rd-condition > .rd-icon-button { grid-column: 2; grid-row: 1; width: 27px; }
  .rd .rd-condition-group { padding: 7px 4px 7px 7px; }
  .rd .rd-condition-group .rd-condition-group { padding-left: 4px; padding-right: 1px; }
  .rd .rd-group-bar { flex-wrap: wrap; gap: 3px; }
  .rd .rd-group-bar > .rd-icon { display: none; }
  .rd .rd-group-bar select.rd-input { max-width: 100%; }
}
