.configuration-editor[hidden] { display: none; }
.configuration-editor {
  position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column;
  color: #ecefe8; background: #141a19; font: 14px/1.45 system-ui, sans-serif;
  text-align: left; cursor: auto; user-select: text; color-scheme: dark;
}
.configuration-editor * { box-sizing: border-box; }
.configuration-editor__header { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; border-bottom: 1px solid #3b4541; }
.configuration-editor__title { font-size: 20px; font-weight: 700; }
.configuration-editor__toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; padding: 10px 20px; border-bottom: 1px solid #3b4541; }
.configuration-editor__search { position: relative; flex: 1; min-width: 180px; }
.configuration-editor .configuration-editor__search input { width: 100%; padding-right: 36px; }
.configuration-editor__search input::-webkit-search-cancel-button { appearance: none; -webkit-appearance: none; }
.configuration-editor button.configuration-editor__search-clear { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; padding: 0; border: 0; background: transparent; font-size: 18px; line-height: 1; }
.configuration-editor__search-clear[hidden] { display: none; }
.configuration-editor__control { display: grid; gap: 2px; font-size: 12px; color: #bcc5be; }
.configuration-editor button, .configuration-editor input, .configuration-editor select, .configuration-editor textarea {
  padding: 7px 9px; border: 1px solid #54615b; border-radius: 4px; background: #252d2a; color: #f0f3ed; font: inherit;
}
.configuration-editor button { cursor: pointer; }
.configuration-editor input[type=file] { width: 100%; padding: 0; border: 0; background: transparent; }
.configuration-editor input[type=file]::file-selector-button {
  margin-right: 8px; padding: 7px 9px; border: 1px solid #54615b; border-radius: 4px;
  background: #252d2a; color: #f0f3ed; font: inherit; cursor: pointer;
}
.configuration-editor input[type=file]::file-selector-button:hover { background: #394640; }
.configuration-editor button:hover { background: #394640; }
.configuration-editor button:disabled { opacity: .45; cursor: default; }
.configuration-editor :focus-visible { outline: 2px solid #f1ce81; outline-offset: 2px; }
.configuration-editor input[aria-invalid=true], .configuration-editor textarea[aria-invalid=true] { border-color: #ff9390; }
.configuration-editor__apply { background: #5a4927 !important; border-color: #ac8949 !important; }
.configuration-editor__status { padding: 8px 20px; background: #1d2521; max-height: 30vh; overflow: auto; }
.configuration-editor__status p { margin: 4px 0; }
.configuration-editor__body { display: grid; grid-template-columns: 210px minmax(300px, 1fr) 290px; flex: 1; min-height: 0; }
.configuration-editor__body[data-tools=false] { grid-template-columns: 210px minmax(0, 1fr); }
.configuration-editor__library[hidden] { display: none; }
.configuration-editor__navigation, .configuration-editor__form, .configuration-editor__library { padding: 14px; overflow: auto; min-width: 0; }
.configuration-editor__navigation { border-right: 1px solid #3b4541; }
.configuration-editor__navigation button, .configuration-editor__navigation input, .configuration-editor__library > button, .configuration-editor__library > select { display: block; width: 100%; margin: 5px 0; text-align: left; }
.configuration-editor__library > input { width: 100%; }
.configuration-editor__navigation button[aria-current=true] { background: #3e5243; border-color: #88a08c; }
.configuration-editor h2 { font-size: 15px; color: #ebd59e; margin: 12px 0 8px; overflow-wrap: anywhere; }
.configuration-editor__form h2 { font-size: 19px; margin-top: 0; }
.configuration-editor__library { border-left: 1px solid #3b4541; background: #181f1c; }
.configuration-editor__field { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(200px, 1.4fr); gap: 5px 14px; padding: 12px 0; border-bottom: 1px solid #354039; }
.configuration-editor__field-label { overflow-wrap: anywhere; padding-top: 6px; }
.configuration-editor__field-input { display: flex; align-items: start; flex-wrap: wrap; gap: 5px; min-width: 0; }
.configuration-editor__field-input > input:not([type=checkbox]), .configuration-editor__field-input > select, .configuration-editor__field-input > textarea { width: 100%; }
.configuration-editor__field-input > input[type=checkbox] { width: 20px; height: 20px; margin: 6px 0; accent-color: #a1bd93; }
.configuration-editor__field-input > textarea { font: 12px/1.5 ui-monospace, monospace; resize: vertical; }
.configuration-editor__badge { font-size: 11px; color: #a6bbad; padding: 3px 0; }
.configuration-editor__hint { grid-column: 1/-1; color: #afbbb2; font-size: 12px; margin: 3px 0; }
.configuration-editor button.configuration-editor__dependency { grid-column: 1/-1; color: #b9c6ac; font-size: 12px; margin: 0; padding: 3px 5px; text-align: left; justify-self: start; }
.configuration-editor button.configuration-editor__dependency:disabled { opacity: 1; border-color: transparent; background: transparent; }
.configuration-editor button.configuration-editor__dependency:not(:disabled) { color: #d0b88c; border-style: dashed; }
.configuration-editor__dependency-dialog { width: min(760px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow: auto; padding: 20px; border: 1px solid #bb9452; border-radius: 6px; background: #181f1c; color: #ecefe8; font: inherit; }
.configuration-editor__dependency-dialog::backdrop { background: #0009; }
.configuration-editor__dependency-target { overflow-wrap: anywhere; color: #ebd59e; }
.configuration-editor__dependency-changes { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 12px 0; }
.configuration-editor__dependency-changes th, .configuration-editor__dependency-changes td { padding: 8px; border-bottom: 1px solid #354039; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.configuration-editor__dependency-changes th:first-child { width: 55%; }
.configuration-editor__dependency-dialog li { overflow-wrap: anywhere; }
.configuration-editor__dependency-actions { display: flex; justify-content: end; gap: 8px; margin-top: 16px; }
.configuration-editor__field--inactive { border-bottom-style: dashed; }
.configuration-editor__field--inactive .configuration-editor__field-label { color: #a0aaa3; }
.configuration-editor__field--inactive .configuration-editor__dependency { color: #d0b88c; }
.configuration-editor__error { color: #ffaaa4; overflow-wrap: anywhere; }
.configuration-editor__confirmation { padding: 12px; margin-top: 8px; border: 1px solid #bb9452; background: #3a3020; }
.configuration-editor__confirmation button { margin: 4px 8px 0 0; }
.configuration-editor__raw { width: 100%; min-height: 65vh; resize: vertical; font: 13px/1.5 ui-monospace, monospace !important; tab-size: 2; }
.configuration-editor__diff { margin: 8px 0; overflow-wrap: anywhere; }
.configuration-editor__diff summary { cursor: pointer; }
.configuration-editor__diff pre { overflow: auto; background: #252d2a; padding: 8px; font-size: 11px; }
.configuration-editor__candidate { padding: 8px 0; border-bottom: 1px solid #354039; overflow-wrap: anywhere; }
.configuration-editor__candidate button { display: block; margin-top: 4px; }
@media (max-width: 1000px) {
  .configuration-editor__body { grid-template-columns: 155px minmax(260px, 1fr) 220px; }
  .configuration-editor__body[data-tools=false] { grid-template-columns: 155px minmax(0, 1fr); }
  .configuration-editor__field { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .configuration-editor__body { grid-template-columns: 120px minmax(0, 1fr); }
  .configuration-editor__body[data-tools=false] { grid-template-columns: 120px minmax(0, 1fr); }
  .configuration-editor__library { grid-column: 1/-1; max-height: 35vh; border-top: 1px solid #3b4541; }
  .configuration-editor__navigation, .configuration-editor__form, .configuration-editor__library { padding: 8px; }
  .configuration-editor__toolbar { padding: 8px; }
}
