.datacleaner-panel { max-width: 1100px; }
.datacleaner-actions, .datacleaner-output-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.datacleaner-output-row input { flex: 1; min-width: 180px; }
.datacleaner-note { color: var(--text-dim); font-size: 13px; margin: 10px 0 16px; }
#datacleaner [hidden] { display: none !important; }
#dcRun { min-width: 140px; margin-bottom: 20px; }
#dcStatus { overflow-wrap: anywhere; white-space: pre-line; }
#dcProgress { width: 100%; height: 14px; margin: 0 0 20px; accent-color: var(--text); }
.datacleaner-files { padding-left: 26px; max-height: 430px; overflow-y: auto; }
.datacleaner-files li { padding: 8px 4px; overflow-wrap: anywhere; border-bottom: 1px solid var(--border-soft); }
.datacleaner-dialog { margin: auto; width: min(760px, calc(100% - 32px)); max-height: 85vh; overflow-y: auto; background: var(--panel); color: var(--text); border: 1px solid var(--border); padding: 24px; }
.datacleaner-dialog::backdrop { background: #000a; }
.datacleaner-directories { display: grid; gap: 6px; max-height: 40vh; overflow-y: auto; margin: 14px 0; }
.datacleaner-directories button { text-align: left; overflow-wrap: anywhere; }
#dcFolderError { color: var(--danger); margin-top: 10px; }
@media (max-width: 600px) {
  .datacleaner-output-row { align-items: stretch; }
  .datacleaner-output-row input { flex-basis: 100%; min-width: 0; width: 100%; }
  .datacleaner-dialog { padding: 16px; }
}
