fieldset {border:1px solid #cbd8df; border-radius:12px; margin:24px 0; padding:18px}
legend {font-weight:700; font-size:18px; padding:0 6px}
.settings-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
label {display:block; font-weight:600; margin-bottom:6px}
select,textarea {display:block; width:100%; font:inherit; padding:10px; color:#203344; background:white; border:1px solid #b9cbd1; border-radius:8px; margin:6px 0 12px}
textarea {resize:vertical}
select:focus-visible,textarea:focus-visible,summary:focus-visible {outline:3px solid #2c83bd; outline-offset:2px}
.source {font-weight:400}
.controls .primary {width:auto; margin-top:0}
details {padding:16px; background:#edf5f4; border-radius:10px}
summary {cursor:pointer; font-weight:600}
#feedback {white-space:pre-line; padding:12px; border-left:3px solid #176c64}
#feedback:empty {display:none}
#current {color:#536a73}
@media(max-width:600px) {.settings-grid {grid-template-columns:1fr}}

input[type="text"] {width:100%; padding:10px; font:inherit; border:1px solid #b9cbd1; border-radius:8px} code {overflow-wrap:anywhere} #summary p {white-space:pre-wrap; overflow-wrap:anywhere}

#sources {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 14px}
.service-settings {display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.service-settings section {background:#f5f8fa;border-radius:8px;padding:14px}
.service-settings h3 {margin-top:0}

.export-setting {margin:12px 0;padding:10px;min-width:0;border:1px solid #d4e2e1}
.export-setting legend {font-size:14px;letter-spacing:normal}
.category-option {display:flex;align-items:flex-start;gap:8px;font-weight:400;margin:9px 0}
.category-option input {flex-shrink:0;margin-top:4px}
.export-setting input[type=date] {font:inherit;max-width:100%;padding:7px;border:1px solid #b9cbd1;border-radius:6px}
.export-setting small {display:block;margin:10px 0}
.error-marker {color:#b42318;font-weight:800}
.field-invalid {border-color:#b42318 !important;outline:1px solid #b42318;outline-offset:2px}
.field-invalid > legend, label:has(> .error-marker) {color:#b42318}
